2 Commits

Author SHA1 Message Date
Emmanuele Sassi 9ad019b6fd Merge remote-tracking branch 'origin/develop' into EmmanueleVersion 2023-05-17 13:18:39 +02:00
Emmanuele Sassi 4f862b2c8d - migliorie restart 2023-05-17 13:11:12 +02:00
1380 changed files with 6933 additions and 138281 deletions
+10 -21
View File
@@ -99,9 +99,6 @@ WDC.Api:staging:
stage: staging stage: staging
tags: tags:
- win - win
environment:
name: staging
url: https://iis01.egalware.com/WDC/SRV/
variables: variables:
APP_NAME: WebDoorCreator.API APP_NAME: WebDoorCreator.API
SOL_NAME: WebDoorCreator.UI SOL_NAME: WebDoorCreator.UI
@@ -114,8 +111,6 @@ WDC.Api:staging:
script: script:
- 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
## IIS 02
#- dotnet publish -p:PublishProfile=IIS02.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
WDC.UI:staging: WDC.UI:staging:
stage: staging stage: staging
@@ -123,7 +118,7 @@ WDC.UI:staging:
- win - win
environment: environment:
name: staging name: staging
url: https://iis01.egalware.com/WDC/UI/ url: https://iis01.egalware.com/GPW/WDC.UI
variables: variables:
APP_NAME: WebDoorCreator.UI APP_NAME: WebDoorCreator.UI
SOL_NAME: WebDoorCreator.UI SOL_NAME: WebDoorCreator.UI
@@ -144,7 +139,7 @@ WDC.Api:deploy:
- win - win
environment: environment:
name: production name: production
url: https://wdc.egalware.com/SRV/ url: https://seriate.egalware.com/GPW/WDC.UI
variables: variables:
APP_NAME: WebDoorCreator.API APP_NAME: WebDoorCreator.API
SOL_NAME: WebDoorCreator.UI SOL_NAME: WebDoorCreator.UI
@@ -156,18 +151,15 @@ WDC.Api:deploy:
- dotnet restore "$env:SOL_NAME.sln" - dotnet restore "$env:SOL_NAME.sln"
script: script:
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet build $env:APP_NAME/$env:APP_NAME.csproj
# IIS OVH IIS01 # IIS 02
- dotnet publish -p:PublishProfile=IIS-OVH-IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=steamware -p:Password=$WDC_IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS02.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
# IIS OVH IIS02 # IIS PROD
- dotnet publish -p:PublishProfile=IIS-OVH-IIS02.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=steamware -p:Password=$WDC_IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS-PROD.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
WDC.UI:deploy: WDC.UI:deploy:
stage: deploy stage: deploy
tags: tags:
- win - win
environment:
name: production
url: https://wdc.egalware.com/UI/
variables: variables:
APP_NAME: WebDoorCreator.UI APP_NAME: WebDoorCreator.UI
SOL_NAME: WebDoorCreator.UI SOL_NAME: WebDoorCreator.UI
@@ -179,13 +171,10 @@ WDC.UI:deploy:
- dotnet restore "$env:SOL_NAME.sln" - dotnet restore "$env:SOL_NAME.sln"
script: script:
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet build $env:APP_NAME/$env:APP_NAME.csproj
# IIS OVH IIS01 # IIS EXT
- dotnet publish -p:PublishProfile=IIS-OVH-IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=steamware -p:Password=$WDC_IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS02.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
# IIS OVH IIS02 # IIS INT
- dotnet publish -p:PublishProfile=IIS-OVH-IIS02.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=steamware -p:Password=$WDC_IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS-PROD.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
## IIS PROD
#- dotnet publish -p:PublishProfile=IIS-PROD.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
# ---------- RELEASE ---------- # ---------- RELEASE ----------
WDC.Api:release: WDC.Api:release:
+25 -101
View File
@@ -1,34 +1,11 @@
# Elenco ToDo # Elenco ToDo
Di seguito l'elenco dei todo da completare
## Framework ## Framework
Importante: Traduzione OVUNQUE x ogni termine/etichetta/button
- [ ] Traduzione OVUNQUE x ogni termine/etichetta/button..
## Modello dati
Da sistemare
- [x] Eliminazione dell'oggetto DoorType (navigazione, tab db)
- [x] creare nuova migration + update DB x fix TypeDoor
- [x] Verificare che le porte duplicate (da template o da stesso ordine) riportino in TypeId il cod porta originale e che le altre abbiano 1
- [x] verificare eventualmente cambio nome campo TypeId --> DoorIdParent
## Pagine ## Pagine
### UIX generale
Verifiche generali
- [ ] pulsanti update(save)/cancel
- [ ] omogenei (colore, icona, x forma cerchio/quadrato vediamo...)
- [ ] valutazione omogeneità forma (cerchio/quadrato... normalizzare? al contrario differenziare?)
- [ ] icone di update che siano omogenee
- [ ] pulsanti operativi siano omogenei
- [ ] selettori a tendina da omogeneizzare
### HOME page ### HOME page
... non saprei, forse link a ... non saprei, forse link a
@@ -40,105 +17,52 @@ Verifiche generali
### Orders Home page ### Orders Home page
Per completare Per completare
- [x] aggiunta paginatore - <del>aggiunta paginatore</del>
- [x] aggiunta stato ordine - <del>aggiunta stato ordine</del>
- [x] aggiunta filtri ricerca - <del>aggiunta filtri ricerca
- periodo da-a - periodo da-a
- search generico - search generico
- stato ordine - stato ordine</del>
- [x] ordinamento - <del>ordinamento</del>
- [ ] aggiungere data promessa consegna: dato sul db, valore default (+30gg?), gestione filtro...
- [x] aggiungere calcolo (FAKE) dei prezzi
- [x] aggiungere company x ordini (x viste DCA almeno)
- [x] gestione modifica descrizione/codice ordini (da p\rte del cliente finale)
- [x] aggiunta gestione DCA x conferma prezzi e tempistiche
- [x] aggiunta gestione DCA x approvazione ordini
- [ ] verifica HW con Filippo/Emmanuele da info ABH/Kit
- [ ] verificare significato della dicitura "Model Number": cosa indica esattamente? è corretta sul db? è calcolata correttamente da interfaccia?
### DCA Order Mans ### DCA Order Man
FORSE la Orders home Page NON VA bene x gli utenti backoffice, oppure va estesa, perché x confermare quotazione, indicare avanzamento ordini gli operatori ABH/DCA devono avere una pagina operativa... FORSE la Orders home Page NON VA bene x gli utenti backoffice, oppure va estesa, perché x confermare quotazione, indicare avanzamento ordini gli operatori ABH/DCA devono avere una pagina operativa...
### OrderDetails ### OrderDetails
Per completare: Per completare:
- <del>aggiunta button x il cambio stato da end-user</del>
- [x] aggiunta button x il cambio stato da end-user - <del>sistemare con paginatore max 3 righe x 4 porte</del>
- [x] sistemare con paginatore max 3 righe x 4 porte - <del>fix button verde add-new</del>
- [x] fix button verde add-new
- [x] ombreggiatura blocco
- [x] gestione calcolo prezzi (fake, random)
### DoorDefinition BaseParams ### DoorDefinition BaseParams
- [x] conteggio num modifiche da salvare - <del>conteggio num modifiche da salvare</del>
- [x] armonizzare il cancel/save nella pagina - <del>armonizzare il cancel/save nella pagina</del>
- [x] revisione testata fino al btn del salva generale - <del>revisione testata fino al btn del salva generale</del>
- [x] sostituire il salva generale con 2 buttons: - <del>sostituire il salva generale con 2 buttons:
- salva, o meglio RECALC PNG = update PNG, potrebbe andare in automatico DOPO i vari SALVA nella pagina (opzione x auto-recalc?!?) - salva, o meglio RECALC PNG = update PNG, potrebbe andare in automatico DOPO i vari SALVA nella pagina (opzione x auto-recalc?!?)
- get 3D obj (in new window/tab) - get 3D obj (in new window/tab)</del>
- [x] delete singola porta da ordine
- [x] navigazione in ritorno come da FIGMA in HwNewInst
- [x] refresh conteggi su approvazione
- [x] conteggio istanze in aggiunta HW
### DoorDefinition Hardware ### DoorDefinition Hardware
Sistemare: Sistemare:
- [x] da implementare davvero lettura pdf (da cartella pdf di esempi) - <del>da implementare davvero lettura pdf (da cartella pdf di esempi)</del>
- [x] fix cancel/save: globale x Hardware oppure x ognuno con icona? - <del>fix cancel/save: globale x Hardware oppure x ognuno con icona?</del>
- [x] verificare perché NON si aggiorna al salvataggio pagina dei 18 hw - verificare perché NON si aggiorna al salvataggio pagina dei 18 hw
- [x] mancano il totale componenti x ogni hw attivato - <del>mancano il totale componenti x ogni hw attivato</del>
- [x] aggiungere icone/immagini x gli HW da inserire nelle porte
### Import componenti DOOR
Procedura per import componenti, sempre GLOBALE (= TUTTI)
- [x] definizione cartelle di base:
- [x] (A) R:\WebDoor\CurComp x componenti ATTUALI/cottenti/approvati
- [x] (B) R:\WebDoor\NewComp x componenti DA valutare x import
- [x] scansione della cartella (B)
- [x] ciclo x ogni file della cartella B
- [x] rilevo path (assoluto e relativo = togliendo parte (B))
- [x] calcolo MD5
- [x] rilevo lenght
- [x] rilevo last mod
- [ ] cerco sul DB record x il PATH (RELATIVO) in oggetto (opzionalmente unique sul db)
- [ ] salvo datetime = adesso
- [ ] in base alla verifica precedente mi tengo set in memoria dalla lista del DB con
- [ ] NON trovo record --> registro nuovo record, con stato = new (=1)
- [ ] trovo record
- [ ] SE cambia MD5/lenght/(last mod?) --> registro stato MOD (=2) + lastCheck = adesso
- [ ] se NON cambia --> registro lastCheck = adesso + stato CONFIRM ( =0)
- [ ] verifico TUTTI i record del DB, e quelli con lastCheck < adesso --> segno come ELIMINATI (=3)
- [ ] step di check puntuale: TUTTI quelli con stato > 0 sono mostrati x azione (1 check x ogni riga, con seleziona tutti/nessuno)
- [ ] l'utente deve poter VEDERE la differenza tra i file (modificati) di (A) e (B) (con diff tramite modale, ...)
- [ ] l'utente checca 0/+ righe e clicca su CONFERMA: si cicla x TUTTE le righe checked x aggiornarle sul DB
- [ ] le righe NUOVE confermate --> sono registrate (con valid from...), stato CONFIRM ( =0), viene copiato file/cartelle da (B) ad (A)
- [ ] le righe modificate --> si registra modifica, stato CONFIRM ( =0), viene sovrascritto/sostituito file/cartelle da (B) ad (A)
- [ ] le righe eliminate --> si imposta cancellazione logica (validUntil), stato DELETED ( =-1), viene sovrascritto/sostituito file/cartelle da (B) ad (A)
- [ ] le righe NON checked, ma NON aggiorno sul DB:
- [ ] se erano nuove (=1) --> elimino dal DB (e NON copio folder)
- [ ] se erano modificate (=2) --> riporto a stato precedente (0/-1) (e NON copio)
- [ ] se erano eliminate (=3) --> riporto a 0 (e NON faccio nulla)
#### Report #### Report
- [x] Va inserita una lista dei componenti + elenco quote. <del>Va inserita una lista dei componenti + elenco quote.</del>
- [x] Esportabile in pdf, comprensivo di "check pdf fatto da tizio alle ..." Va pensato esportabile in pdf, comprensivo di "check pdf fatto da tizio alle ..."
## Componenti ## Componenti
- [x] costruire libreria componenti (ad esempio waiter/loader) da siti di esempio componenti in EgwCoreLib.Razor --> ProgressBar e nuovi Loader
### Top ### Top
Da sistemare Da sistemare
- <del>btn effettivi</del>
- [x] btn effettivi - <del>dinamico da user-role?</del>
- [x] dinamico da user-role? - <del>fix responsive</del>
- [x] fix responsive
Binary file not shown.
+2 -2
View File
@@ -307,6 +307,6 @@ In particular we expect to have some data auto-calculated (ex time from CAM), wh
| Date | Edit | Version | Note | | Date | Edit | Version | Note |
|------------|----------------|:-------:|-----------------:| |------------|----------------|:-------:|-----------------:|
| 2022.11.03 | S.E. Locatelli | 0.1 | Initial draft |
| 2022.11.09 | S.E. Locatelli | 0.2 | Draft completion | | 2022.11.09 | S.E. Locatelli | 0.2 | Draft completion |
| 2023.03.21 | Z. Majid | 0.4 | Grammar Fixes | | 2022.11.03 | S.E. Locatelli | 0.1 | Initial draft |
| 2023.03.21 | Z. Majid | 0.4 | Grammar Fixes |
Binary file not shown.
-58
View File
@@ -1,58 +0,0 @@
# Appunti fix vari
La sistemazione è gestita direttametne con commit git...
## Traduzione
Ci sono ancora lemmi di interfaccia gestiti come numerici, NON è lo standard definito:
- ok a lemmi "UI_"
- lemmi devono essere "self explaining"
- eventualmente nel naming il cosa/dove, accettabile **UI_BtnOk** o **UI_BtnKo**, ma anche **UI_OrderPage_title**
... da sistemare GLOBALMENTE (= Zac...) x gli esistenti, mi occupo di creare correttamente solo i nuovi...
## NavMenuHorizontal
Ci sono alcne cose che non funzionano:
- i pulsanti si disallineano (icona/testo) con size schermo sotto fhd (va gestito almeno da 1376 in orizzontale...)
![Buttons KO](images/NoteFix_01.png "Buttons KO")
- typo: flex warp indica che la pagina deve caricarsi a velocità warp (superluminare) come in star trek? MAGARI!!!!
```csharp
<AuthorizeView Roles="SuperAdmin" Context="MenuHide">
<Authorized>
<div class="nav-item px-3 d-flex flex-warp align-items-center">
<NavLink class="nav-link" href="TemplateMan">
<span class="fa-solid fa-paint-roller pe-2" aria-hidden="true"></span> Template Management
</NavLink>
</div>
</Authorized>
</AuthorizeView>
```
- il navbar toggler che non funziona...
- opzioni utente con username (email) x esteso: troppo grande, ridotto
## Modale Door
La pagina modale della porta permetteva sia la modifica imperativa delle quantità che la modifica del resto gestita tramite controllo CurrDoor / CurrDoorClone per approvare/annullare intervento complessivo
Questo portava ad una situazione di errore in caso di modifica (es descrizioen door) + modifica quantità
Eliminato metodo esplicito modifica quantità (da service + DB), gestito come modifica "locale" del dato qta (che quindi eredita il controllo qty >=0)
## Modale Ordini
- Aggiunta modale x editing ordine cliente
- Aggiunta modale x gestione editing DCA (data consegna...)
## HwSingleInstance
La gestione del calcolo "variato" non funziona bene/sempre
- errori in fase di calcolo
- usare funzione come check è sub ottimale
- i valori creati x clone NON sono veri cloni (di fatto punta ad obj originali)
--> riscritta logica vaori originali/correnti ed editing...
BIN
View File
Binary file not shown.
-3
View File
@@ -1,3 +0,0 @@
Per sistemare il manuale da ilias copiare il file delos.css qui allegato in
C:\Users\samuele.steamw\source\WebDoorCreator\WebDoorCreator.UI\wwwroot\help\templates\default
-20127
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.
File diff suppressed because one or more lines are too long
-29
View File
@@ -1,29 +0,0 @@
<body>
<i>WebDoorCreator - Egalware</i>
<h4>Version: {{CURRENT-REL}}</h4>
<br /> Release note:
<ul>
<li>
<b>Last Changes:</b>
<ul>{{LAST-CHANGES}}</ul>
</li>
<li>
<b>v.0.* &rarr;</b>
<ul>
<li>First CORE UI</li>
<li>First CORE API rest services</li>
<li>integration with EgtEngine server</li>
<li>Release dotnet6</li>
<li>EFCore Engine</li>
</ul>
</li>
</ul>
<div>
<div style="float: left;">
<img src="LogoEgw.png" />
</div>
<div style="float: right;">
<a href="https://www.egalware.net/" target="_blank">&copy; Egalware 2022+</a>
</div>
</div>
</body>
-29
View File
@@ -1,29 +0,0 @@
<body>
<i>WebDoorCreator - Egalware</i>
<h4>Version: 0.9.2505.1316</h4>
<br /> Release note:
<ul>
<li>
<b>Last Changes:</b>
<ul>{{LAST-CHANGES}}</ul>
</li>
<li>
<b>v.0.* &rarr;</b>
<ul>
<li>First CORE UI</li>
<li>First CORE API rest services</li>
<li>integration with EgtEngine server</li>
<li>Release dotnet6</li>
<li>EFCore Engine</li>
</ul>
</li>
</ul>
<div>
<div style="float: left;">
<img src="LogoEgw.png" />
</div>
<div style="float: right;">
<a href="https://www.egalware.net/" target="_blank">&copy; Egalware 2022+</a>
</div>
</div>
</body>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

-1
View File
@@ -1 +0,0 @@
0.9.
-1
View File
@@ -1 +0,0 @@
0.9.2505.1316
-7
View File
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>1.0.0.0</version>
<url>http://nexus.steamware.net/repository/SWS/{{DIRNAME}}/{{BRANCHNAME}}/{{PACKNAME}}.zip</url>
<changelog>http://nexus.steamware.net/repository/SWS/{{DIRNAME}}/{{BRANCHNAME}}/ChangeLog.html</changelog>
<mandatory>false</mandatory>
</item>
-7
View File
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>0.9.2505.1316</version>
<url>http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.UI.zip</url>
<changelog>http://nexus.steamware.net/repository/SWS/WDC/stable/ChangeLog.html</changelog>
<mandatory>false</mandatory>
</item>
-75
View File
@@ -1,75 +0,0 @@
// See https://aka.ms/new-console-template for more information
using System.Diagnostics;
int lineCount = 0;
void OutputHandler(object sender, DataReceivedEventArgs e)
{
if (!string.IsNullOrEmpty(e.Data))
{
Console.WriteLine($"RIPOSTA PROCESSO [{lineCount}] - {e.Data}");
if (e.Data == "SUCCESS")
{
lineCount += 1;
}
}
};
var domanda = "Sai chi ti saluta tantissimo?";
Console.WriteLine(domanda);
// Create a new process object
Process p = new Process();
// Specify the file name of the external exe
p.StartInfo.FileName = @"C:\Temp\TestEcho.bat";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
//var stdIn = p.StandardInput;
p.OutputDataReceived += (s, e) => OutputHandler(s, e);
// Optionally, specify any arguments for the exe
//p.StartInfo.Arguments = domanda;
// Start the process
p.Start();
p.StandardInput.WriteLine(domanda);
p.BeginOutputReadLine();
while (!p.HasExited)
{
//Console.WriteLine(output.ToString());
Thread.Sleep(500);
//var inVar = Console.ReadLine();
//// mando nuovo input...
//p.StandardInput.WriteLine(domanda);
Thread.Sleep(500);
// mando nuovo input...
p.StandardInput.WriteLine(domanda);
Thread.Sleep(500);
// mando nuovo input...
p.StandardInput.WriteLine(domanda);
Thread.Sleep(500);
// mando nuovo input...
p.StandardInput.WriteLine(domanda);
Thread.Sleep(500);
// mando nuovo input...
p.StandardInput.WriteLine("escape");
}
// Optionally, wait for the process to exit
p.WaitForExit();
p.Close();
Console.WriteLine("Ho finito...");
Console.WriteLine("...press return to close");
Console.ReadLine();
-10
View File
@@ -1,10 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
@@ -1,146 +0,0 @@
using Microsoft.AspNetCore.Mvc;
using NLog;
using SkiaSharp;
using Svg;
using Svg.Skia;
using System.Drawing;
using WebDoorCreator.Data.Services;
#if false
using SkiaSharp;
using Svg.Skia;
#endif
namespace WebDoorCreator.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class DoorImageController : ControllerBase
{
#region Public Constructors
public DoorImageController(IConfiguration configuration, QueueDataService cQDService, WebDoorCreatorService cWDCService)
{
Log.Info("Starting DoorImageController");
_configuration = configuration;
WaitReloadSvg = _configuration.GetValue<int>("RuntimeOpt:WaitReloadSvg");
QDService = cQDService;
WDService = cWDCService;
Log.Info("Avviato DoorImageController");
}
#endregion Public Constructors
#region Public Methods
// GET: api/Alive
[HttpGet]
public string Get()
{
return "OK";
}
[HttpGet("GetImage.png")]
public async Task<IActionResult> GetImagePng(int DoorId)
{
byte[] result = new byte[0];
string svgContent = await QDService.DoorGetLastSvg(DoorId);
// se fosse vuoto...
if (string.IsNullOrEmpty(svgContent))
{
// richiede ricalcolo img
svgContent = await SendRecalcReq(DoorId);
}
// se fosse vuoto...
if (string.IsNullOrEmpty(svgContent))
{
// legge img vuota
svgContent = QDService.DoorGetMissingSvg();
}
// ora prosegue con conversione...
if (!string.IsNullOrEmpty(svgContent))
{
using (var svg = new SKSvg())
{
if (svg.FromSvg(svgContent) is { })
{
using (var stream = new MemoryStream())
{
svg.Picture?.ToImage(stream, SKColors.Empty, SKEncodedImageFormat.Png, 100, 1f, 1f, SKColorType.Rgba8888, SKAlphaType.Unpremul, SKColorSpace.CreateSrgb());
result = stream.ToArray();
}
}
}
}
return File(result, "image/png");
}
[HttpGet("GetImage.svg")]
public async Task<IActionResult> GetImageSvg(int DoorId)
{
string svgContent = await QDService.DoorGetLastSvg(DoorId);
// se fosse vuoto...
if (string.IsNullOrEmpty(svgContent))
{
// richiede ricalcolo img
await SendRecalcReq(DoorId);
// legge img vuota
svgContent = QDService.DoorGetMissingSvg();
}
var result = System.Text.Encoding.UTF8.GetBytes(svgContent);
return File(result, "image/svg+xml");
}
#endregion Public Methods
#region Private Fields
private static IConfiguration _configuration = null!;
private static Logger Log = LogManager.GetCurrentClassLogger();
private int WaitReloadSvg = 100;
#endregion Private Fields
#region Private Properties
private QueueDataService QDService { get; set; } = null!;
private WebDoorCreatorService WDService { get; set; } = null!;
#endregion Private Properties
#region Private Methods
/// <summary>
/// Invio richiesta ricalcolo porta
/// </summary>
/// <param name="DoorId"></param>
/// <returns></returns>
private async Task<string> SendRecalcReq(int DoorId)
{
string answ = "";
// richiede ricalcolo img
List<string> doorIdList = new List<string>() { $"{DoorId}" };
// chiamo reset richieste
var list2Proc = await QDService.ResetQueueByDoorList(doorIdList);
// recupero DDF ed invio x processing
if (DoorId > 0)
{
string currDDF = await WDService.DoorOpGetDDF(DoorId);
// versione corrente del DDF generato
int currVers = await QDService.SendCalcReq(DoorId, currDDF);
}
// attende ...
await Task.Delay(WaitReloadSvg);
// riprova lettura
answ = await QDService.DoorGetLastSvg(DoorId);
return answ;
}
#endregion Private Methods
}
}
@@ -1,144 +0,0 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using NLog;
using WebDoorCreator.Data.DTO;
using WebDoorCreator.Data.Services;
namespace WebDoorCreator.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class OrderController : ControllerBase
{
public OrderController(IConfiguration configuration, WebDoorCreatorService DataService)
{
Log.Info("Starting OrderController");
_configuration = configuration;
WDCService = DataService;
Log.Info("Avviato OrderController");
}
/// <summary>
/// GET: api/Order
/// </summary>
/// <returns></returns>
[HttpGet]
public string Get()
{
return "OK";
}
/// <summary>
/// GET: api/Order/GetCurrent
/// Recupera ordini dato id cliente + stato ordini (limitato a ultimi 6 mesi)
/// </summary>
/// <returns></returns>
[HttpGet("GetCurrent")]
public async Task<List<int>> GetCurrent(int id, int ordStatus)
{
List<int> answ = new List<int>();
DateTime dtEnd = DateTime.Now;
DateTime dtStart = dtEnd.AddMonths(-6);
var rawData = await WDCService.OrderStatusGetFilt(id, ordStatus, dtStart, dtEnd);
if (rawData != null)
{
answ = rawData.Select(x => x.OrderId).ToList();
}
return answ;
}
/// <summary>
/// Order detail for cost evaluation
/// </summary>
/// <param name="OrderId"></param>
/// <returns></returns>
[HttpGet("GetDetail")]
public async Task<OrderDetailsDTO> GetDetail(int OrderId)
{
OrderDetailsDTO answ = new OrderDetailsDTO()
{
OrderId = OrderId
};
// recupero info ordine
var rawOrder = await WDCService.OrderGetByKey(OrderId);
if (rawOrder != null && rawOrder.CompanyNav != null)
{
answ.OrderDescript = rawOrder.OrderDescript;
answ.OrderExtCode = rawOrder.OrderExtCode;
// recupero info customer
CustomerDTO customer = new CustomerDTO()
{
Address = rawOrder.CompanyNav.Address,
City = rawOrder.CompanyNav.City,
CompanyExtCode = rawOrder.CompanyNav.CompanyExtCode,
CompanyId = rawOrder.CompanyNav.CompanyId,
CompanyName = rawOrder.CompanyNav.CompanyName,
State = rawOrder.CompanyNav.State,
VAT = rawOrder.CompanyNav.VAT,
ZipCode = rawOrder.CompanyNav.ZipCode
};
answ.CustomerInfo = customer;
// recuper elenco porte...
List<DoorCostingDTO> dcDTO = new List<DoorCostingDTO>();
var doorsList = await WDCService.DoorGetByOrderId(OrderId);
if (doorsList != null)
{
foreach (var door in doorsList)
{
// recupero i dato DoorOp
var doorOpList = await WDCService.DoorOpGetByDoorId(door.DoorId);
Dictionary<string, List<string>> currBOMList = new Dictionary<string, List<string>>();
// ciclo su tutte le DoorOp
foreach (var doorOp in doorOpList)
{
// cerco se ci sia già o meno nella BOM l'item corrente
if (currBOMList.ContainsKey(doorOp.ObjectId))
{
currBOMList[doorOp.ObjectId].Add(doorOp.JsoncActVal);
}
else
{
List<string> currOp = new List<string>();
currOp.Add(doorOp.JsoncActVal);
currBOMList.Add(doorOp.ObjectId, currOp);
}
}
// creo oggetto DTO finale della porta
var doorDto = new DoorCostingDTO()
{
DoorId = door.DoorId,
Quantity = door.Quantity,
EstimatedWorkTime = 0,
BOMList = currBOMList
};
dcDTO.Add(doorDto);
}
}
//answ. = rawOrder.OrderDescript;
answ.DoorsList = dcDTO;
}
// popolo con dati specifica...
return answ;
}
/// <summary>
/// Door price update for order's cost evaluation
/// </summary>
/// <param name="EvalResults">list of DoorPriceDTO with UnitPrices</param>
/// <returns></returns>
[HttpPost("DoorPriceUpdate")]
public async Task<string> DoorPriceUpdate(List<DoorPriceDTO> EvalResults)
{
string answ = "NA";
var updateSet = EvalResults
.Where(x => x.Valid)
.ToDictionary(x => x.DoorId, x => x.UnitCost);
bool fatto = await WDCService.DoorUpdateCosts(updateSet);
answ = fatto ? "OK" : "NO";
return answ;
}
private static IConfiguration _configuration = null!;
private static Logger Log = LogManager.GetCurrentClassLogger();
private WebDoorCreatorService WDCService { get; set; } = null!;
}
}
@@ -1,7 +1,5 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using NLog; using NLog;
using System.Diagnostics;
using WebDoorCreator.Core;
using WebDoorCreator.Data.DTO; using WebDoorCreator.Data.DTO;
using WebDoorCreator.Data.Services; using WebDoorCreator.Data.Services;
@@ -13,22 +11,12 @@ namespace WebDoorCreator.API.Controllers
{ {
#region Public Constructors #region Public Constructors
public QueueController(IConfiguration configuration, QueueDataService DataService, WebDoorCreatorService _WDService) public QueueController(IConfiguration configuration, QueueDataService DataService)
{ {
Log.Info("Starting QueueController");
_configuration = configuration; _configuration = configuration;
logTimingEnable = configuration.GetValue<bool>("RuntimeOpt:LogTimingEnable");
QDataServ = DataService; QDataServ = DataService;
WDService = _WDService; Log.Info("Avviato QueueController");
// aggiungo..
string statName = "QueueController";
bool doWrite = QDataServ.StatUpsert(statName, new TimeSpan(), 5).Result;
// se campione "pieno"...
if (doWrite)
{
// recupero e resetto
ExecStats statRec = QDataServ.StatReset(statName).Result;
Log.Trace($"Avviato QueueController x {statRec.NumCall}");
}
} }
#endregion Public Constructors #endregion Public Constructors
@@ -93,46 +81,6 @@ namespace WebDoorCreator.API.Controllers
return answ; return answ;
} }
/// <summary>
/// Reset della coda di processing x evitare condizioni di "stuck in calc"
/// </summary>
/// <returns></returns>
[HttpPost("ResetQueueProcessing")]
public async Task<string> ResetQueueProcessing()
{
string answ = "NA";
// fixme todo
/* --------------
* da riscrivere
* - server record x cancellazione logica delle porte OK
* - il record (boolean, toDelete...) indica azione richiesta OK
* - si prendono TUTTE le porte da DB con toDelete == true OK
* - si eliminano su REDIS dalle 4 code (req, processing, error, done) OK
* - check delle code processing, SE ci sono record rimasti li cerco sul DB
* - se NON ci sono sul db --> li elimino da processing
* - effettivo delete sul db di toDelete
*
* - proseguo come ora (sposto tra code processing --> request)
*/
var doors2Del = await WDService.DoorGet2Del();
if (doors2Del != null)
{
foreach (var item in doors2Del)
{
await WDService.RedisBulkDelByDoorId(item.DoorId);
await QDataServ.RedisBulkDelHashByKey(item.DoorId);
await WDService.DoorDelete(item);
}
}
bool fatto = await QDataServ.ResetQueueProcessing();
answ = fatto ? "OK" : "NO";
return answ;
}
/// <summary> /// <summary>
/// Invio elenco risultati elaborazioni (modalità boolean di esecuzione corretta) /// Invio elenco risultati elaborazioni (modalità boolean di esecuzione corretta)
/// </summary> /// </summary>
@@ -144,7 +92,6 @@ namespace WebDoorCreator.API.Controllers
string answ = "NA"; string answ = "NA";
bool fatto = await QDataServ.SaveProcessingResult(calcResults); bool fatto = await QDataServ.SaveProcessingResult(calcResults);
answ = fatto ? "OK" : "NO"; answ = fatto ? "OK" : "NO";
Log.Debug("Eseguito SaveProcResult");
return answ; return answ;
} }
@@ -155,11 +102,6 @@ namespace WebDoorCreator.API.Controllers
[HttpGet("StatusList")] [HttpGet("StatusList")]
public async Task<Dictionary<string, Dictionary<string, string>>> StatusList() public async Task<Dictionary<string, Dictionary<string, string>>> StatusList()
{ {
Stopwatch sw = new Stopwatch();
if (logTimingEnable)
{
sw.Start();
}
Dictionary<string, Dictionary<string, string>> answ = new Dictionary<string, Dictionary<string, string>>(); Dictionary<string, Dictionary<string, string>> answ = new Dictionary<string, Dictionary<string, string>>();
var actPend = await QDataServ.RequestPending(); var actPend = await QDataServ.RequestPending();
answ.Add("pending", actPend); answ.Add("pending", actPend);
@@ -172,20 +114,6 @@ namespace WebDoorCreator.API.Controllers
var actDone = await QDataServ.RequestDone(); var actDone = await QDataServ.RequestDone();
answ.Add("done", actDone); answ.Add("done", actDone);
if (logTimingEnable)
{
sw.Stop();
// aggiungo..
string statName = "StatusList";
bool doWrite = await QDataServ.StatUpsert(statName, sw.Elapsed, 5);
// se campione "pieno"...
if (doWrite)
{
// recupero e resetto
ExecStats statRec = await QDataServ.StatReset(statName);
Log.Info($"Eseguito {statName} x {statRec.NumCall} | {statRec.AvgTime.TotalMilliseconds:N3}ms");
}
}
return answ; return answ;
} }
@@ -196,10 +124,9 @@ namespace WebDoorCreator.API.Controllers
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet("TakeNextItems")] [HttpGet("TakeNextItems")]
public async Task<Dictionary<string, CalcReqtDTO>> TakeProcessingItems(int numItems = 10) public async Task<Dictionary<string, string>> TakeProcessingItems(int numItems = 10)
{ {
var actQueue = await QDataServ.TakeProcessingItems(numItems); var actQueue = await QDataServ.TakeProcessingItems(numItems);
Log.Debug($"Eseguito TakeProcessingItems per {numItems} items");
return actQueue; return actQueue;
} }
@@ -207,17 +134,15 @@ namespace WebDoorCreator.API.Controllers
#region Private Fields #region Private Fields
private static Logger Log = LogManager.GetCurrentClassLogger(); private static IConfiguration _configuration = null!;
private IConfiguration _configuration = null!;
private bool logTimingEnable = false; private static Logger Log = LogManager.GetCurrentClassLogger();
#endregion Private Fields #endregion Private Fields
#region Private Properties #region Private Properties
private QueueDataService QDataServ { get; set; } = null!; private QueueDataService QDataServ { get; set; } = null!;
private WebDoorCreatorService WDService { get; set; } = null!;
#endregion Private Properties #endregion Private Properties
} }
@@ -1,155 +0,0 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Microsoft.Reporting.NETCore;
using NLog;
using System.Data;
using ToDataTable;
using WebDoorCreator.Core.ReportViewer;
using WebDoorCreator.Data.Services;
namespace WebDoorCreator.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ReportController : ControllerBase
{
#region Public Constructors
public ReportController(IConfiguration configuration, WebDoorCreatorService DataService)
{
Log.Info("Starting ReportController");
_configuration = configuration;
WDCService = DataService;
Log.Info("Avviato ReportController");
}
#endregion Public Constructors
#region Public Methods
// GET: api/Alive
[HttpGet]
public string Get()
{
return "OK";
}
/// <summary>
/// Restituisce report dato ordine e formato
/// </summary>
/// <param name="OrderId">ID univoco ordine</param>
/// <param name="Format">Formato: PDF/HTML/DOCX/XLSX</param>
/// <returns></returns>
[HttpGet("GetOrderReport")]
public async Task<IActionResult> GetOrderReport(int OrderId, string Format)
{
// dato il servizio è impostato il file rdlc e la struttura data DS da passare
await Task.Delay(1);
// inizializzo parametri report di default
Core.ReportViewer.Report.RenderParams currParams = new Core.ReportViewer.Report.RenderParams(Format);
currParams.FileName= $"DCA-Order-{OrderId:00000000}";
// restituisco oggetto ReportOrder specifico
return await OrderReportGet(OrderId, currParams);
}
#endregion Public Methods
#region Private Fields
private static IConfiguration _configuration = null!;
private static Logger Log = LogManager.GetCurrentClassLogger();
#endregion Private Fields
#region Private Properties
private WebDoorCreatorService WDCService { get; set; } = null!;
#endregion Private Properties
#region Private Methods
#if false
/// <summary>
/// Restituisce filestream del report DEMO
/// </summary>
/// <param name="FileName">Nome file desiderato x download</param>
/// <param name="RenderFormat"></param>
/// <param name="FileExt"></param>
/// <param name="MimeType"></param>
/// <returns></returns>
private IActionResult ReportDemoGet(int OrderId, Core.ReportViewer.Report.RenderParams CurrParams)
{
using (var report = new LocalReport())
{
// setup parametri
List<ReportParameter> RepParams = new List<ReportParameter>();
RepParams.Add(new ReportParameter("Title", "Invoice 4/2020"));
// setup DsReport
Dictionary<string, DataTable> DsDict = new Dictionary<string, DataTable>();
Random rnd = new Random();
decimal WidgetPrice = 204.99m;
decimal GizmoPrice = 2.41m;
var items = new[] {
new ReportItem { Description = "Widget 6000", Price = WidgetPrice, Qty = rnd.Next(1,5) },
new ReportItem { Description = "Gizmo MAX", Price = GizmoPrice, Qty = rnd.Next(10,50) },
new ReportItem { Description = "Pippo", Price = 1.2m, Qty = rnd.Next(3,9) },
new ReportItem { Description = "Paperino", Price = 1.74m, Qty = rnd.Next(5,15) }
}.ToList();
var totaQty = items.Sum(x => x.Qty);
var avgPrice = items.Sum(x => x.Qty * x.Price) / totaQty;
items.Add(new ReportItem() { Description = "Total", Qty = totaQty, Price = Math.Round(avgPrice, 2) });
DataTable tabDati = items.ToDataTable();
tabDati.TableName = "Items";
// aggiungo dizionario
DsDict.Add("Items", tabDati);
// carico dati nel report...
Core.ReportViewer.Report.Load(report, "Report.rdlc", RepParams, DsDict);
var rawData = report.Render(CurrParams.RenderFormat);
return File(rawData, CurrParams.MimeType, $"{CurrParams.FileName}.{CurrParams.Extension}");
}
}
#endif
/// <summary>
/// Restituisce filestream del report richiesto
/// </summary>
/// <param name="OrderId">ID Ordine</param>
/// <param name="CurrParams">Parametri rendering report</param>
/// <returns></returns>
private async Task<IActionResult> OrderReportGet(int OrderId, Core.ReportViewer.Report.RenderParams CurrParams)
{
using (var report = new LocalReport())
{
// setup parametri
List<ReportParameter> RepParams = new List<ReportParameter>();
RepParams.Add(new ReportParameter("OrderID", $"{OrderId}"));
// setup DsReport
Dictionary<string, DataTable> DsDict = new Dictionary<string, DataTable>();
// recupero tab dati config...
var confList = await WDCService.ConfigGetAll();
DataTable tabDatiConf = confList.ToDataTable();
tabDatiConf.TableName = "DataSetConfig";
// aggiungo a dizionario
DsDict.Add("DataSetConfig", tabDatiConf);
// recupero dati veri del report...
var repDetailData = await WDCService.PreRepOrderGetByKey(OrderId);
DataTable tabDati = repDetailData.ToDataTable();
tabDati.TableName = "DataSetOrderReportExpl";
// aggiungo dizionario
DsDict.Add("DataSetOrderReportExpl", tabDati);
// carico dati nel report...
Core.ReportViewer.Report.Load(report, "ReportOrder.rdlc", RepParams, DsDict);
var rawData = report.Render(CurrParams.RenderFormat);
return File(rawData, CurrParams.MimeType, $"{CurrParams.FileName}.{CurrParams.Extension}");
}
}
#endregion Private Methods
}
}
-95
View File
@@ -1,95 +0,0 @@
using Microsoft.Extensions.Diagnostics.HealthChecks;
using NLog;
using System.Net.NetworkInformation;
using WebDoorCreator.Data;
namespace WebDoorCreator.API.Health
{
public class Checks
{
#region Public Methods
public static async Task<HealthCheckResult> ConfigCount(IConfiguration _config)
{
string description = "Try check Config table";
var healthCheckData = new Dictionary<string, object>();
using (WDCDataContext localDbCtx = new WDCDataContext(_config))
{
var dbCount = localDbCtx
.DbSetConfig
.Count();
if (dbCount > 0)
{
description = $"Check Config table, found {dbCount} records";
healthCheckData.Add("Count", dbCount);
return HealthCheckResult.Healthy(description, healthCheckData);
}
}
await Task.Delay(1);
return HealthCheckResult.Unhealthy(description + $" NO RECORD found", null, healthCheckData);
}
public static async Task<HealthCheckResult> DoorsCount(IConfiguration _config)
{
string description = "Try check DOOR table";
var healthCheckData = new Dictionary<string, object>();
using (WDCDataContext localDbCtx = new WDCDataContext(_config))
{
var dbCount = localDbCtx
.DbSetDoor
.Count();
if (dbCount > 0)
{
description = $"Check DOOR table, found {dbCount} records";
healthCheckData.Add("Count", dbCount);
return HealthCheckResult.Healthy(description, healthCheckData);
}
}
await Task.Delay(1);
return HealthCheckResult.Unhealthy(description + $" NO RECORD found", null, healthCheckData);
}
public static async Task<HealthCheckResult> OrdersCount(IConfiguration _config)
{
string description = "Try check ORDER table";
var healthCheckData = new Dictionary<string, object>();
using (WDCDataContext localDbCtx = new WDCDataContext(_config))
{
var dbCount = localDbCtx
.DbSetOrders
.Count();
if (dbCount > 0)
{
description = $"Check ORDER table, found {dbCount} records";
healthCheckData.Add("Count", dbCount);
return HealthCheckResult.Healthy(description, healthCheckData);
}
}
await Task.Delay(1);
return HealthCheckResult.Unhealthy(description + $" NO RECORD found", null, healthCheckData);
}
public static async Task<HealthCheckResult> PingCheck(string hostName)
{
var description = $"Ping to {hostName}";
var healthCheckData = new Dictionary<string, object>();
using (var thePing = new Ping())
{
var pingResult = await thePing.SendPingAsync(hostName);
healthCheckData.Add("RoundTripMS", pingResult.RoundtripTime);
healthCheckData.Add("ActualIPAddress", pingResult.Address.ToString());
if (pingResult.Status == IPStatus.Success)
{
description += $" - {pingResult.RoundtripTime}ms";
return HealthCheckResult.Healthy(description, healthCheckData);
}
}
return HealthCheckResult.Unhealthy(description + $" {hostName}", null, healthCheckData);
}
#endregion Public Methods
}
}
+15 -85
View File
@@ -1,9 +1,5 @@
using HealthChecks.UI.Client;
using Microsoft.AspNetCore.Diagnostics.HealthChecks;
using Microsoft.AspNetCore.Identity.UI.Services; using Microsoft.AspNetCore.Identity.UI.Services;
using Microsoft.AspNetCore.Localization; using Microsoft.AspNetCore.Localization;
using Microsoft.CodeAnalysis.FlowAnalysis;
using Microsoft.Extensions.Diagnostics.HealthChecks;
using StackExchange.Redis; using StackExchange.Redis;
using StackExchange.Redis.Extensions.Core.Configuration; using StackExchange.Redis.Extensions.Core.Configuration;
using StackExchange.Redis.Extensions.Newtonsoft; using StackExchange.Redis.Extensions.Newtonsoft;
@@ -18,14 +14,10 @@ var builder = WebApplication.CreateBuilder(args);
// configuration setup // configuration setup
ConfigurationManager configuration = builder.Configuration; ConfigurationManager configuration = builder.Configuration;
// Redis // Redis
var connStringRedis = configuration.GetConnectionString("Redis"); var connStringRedis = configuration.GetConnectionString("Redis");
if (string.IsNullOrEmpty(connStringRedis))
{
connStringRedis = "localhost:6379, DefaultDatabase=11, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false";
}
string redisSrvAddr = connStringRedis.Substring(0, connStringRedis.IndexOf(":")); string redisSrvAddr = connStringRedis.Substring(0, connStringRedis.IndexOf(":"));
// avvio oggetto shared x redis... // avvio oggetto shared x redis...
var redisMultiplexer = ConnectionMultiplexer.Connect(connStringRedis); var redisMultiplexer = ConnectionMultiplexer.Connect(connStringRedis);
@@ -35,67 +27,6 @@ builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer(); builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(); builder.Services.AddSwaggerGen();
// APP MAIN setup
string connectionString = configuration.GetConnectionString("WDC.DB") ?? "";
string dbServerAddr = "127.0.0.1";
if (string.IsNullOrEmpty(connectionString))
{
connectionString = "Server=SQL2016DEV;Database=WebDoorCreator; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.SRV;";
}
else
{
if (connectionString.Contains("Server"))
{
bool trovato = false;
var dbTokens = connectionString.Split(";");
int numTok = dbTokens.Count();
int idx = 0;
while (!trovato && idx < numTok)
{
if (dbTokens[idx].StartsWith("Server="))
{
// rimuovo la chaive Server...
dbServerAddr = dbTokens[idx].Replace("Server=", "");
// se ci fosse un nome (tipo \\sqlexpress) rimuovo...
if (dbServerAddr.Contains("\\"))
{
int sIdx = dbServerAddr.IndexOf("\\");
dbServerAddr = dbServerAddr.Substring(0, sIdx);
}
trovato = true;
}
idx++;
}
}
}
// healthchecks
builder.Services.AddHealthChecks()
.AddSqlServer(connectionString, healthQuery: "SELECT 1;", name: "SqlServer", failureStatus: HealthStatus.Degraded, tags: new string[] { "DB", "MsSql" })
.AddAsyncCheck($"DB PING ({dbServerAddr})", () => WebDoorCreator.API.Health.Checks.PingCheck(dbServerAddr))
.AddAsyncCheck($"Redis PING ({redisSrvAddr})", () => WebDoorCreator.API.Health.Checks.PingCheck(redisSrvAddr))
// 512 MB max allocated memory
.AddProcessAllocatedMemoryHealthCheck(512, "Max Process memory (<512MB)", failureStatus: HealthStatus.Degraded)
.AddRedis(connStringRedis, "Redis", failureStatus: HealthStatus.Degraded)
.AddAsyncCheck($"Config Table", () => WebDoorCreator.API.Health.Checks.ConfigCount(configuration))
.AddAsyncCheck($"Orders Table", () => WebDoorCreator.API.Health.Checks.OrdersCount(configuration))
.AddAsyncCheck($"Doors Table", () => WebDoorCreator.API.Health.Checks.DoorsCount(configuration))
;
#if false
builder.Services
.AddHealthChecksUI(s =>
{
s.AddHealthCheckEndpoint("WDC_API_HC", "health");
s.SetEvaluationTimeInSeconds(60);
s.SetMinimumSecondsBetweenFailureNotifications(120);
s.SetApiMaxActiveRequests(5);
s.SetHeaderText("WDC.API Health Check Status");
})
.AddInMemoryStorage();
#endif
// abilitazione x email management con MailKit // abilitazione x email management con MailKit
//builder.Services.AddTransient<IEmailSender, MailKitEmailSender>(); //builder.Services.AddTransient<IEmailSender, MailKitEmailSender>();
builder.Services.AddSingleton<IEmailSender, MailKitEmailSender>(); builder.Services.AddSingleton<IEmailSender, MailKitEmailSender>();
@@ -126,7 +57,6 @@ builder.Services.AddStackExchangeRedisExtensions<NewtonsoftSerializer>((options)
}); });
builder.Services.AddSingleton<QueueDataService>(); builder.Services.AddSingleton<QueueDataService>();
builder.Services.AddSingleton<WebDoorCreatorService>();
builder.Services.AddSingleton<IConnectionMultiplexer>(redisMultiplexer); builder.Services.AddSingleton<IConnectionMultiplexer>(redisMultiplexer);
var app = builder.Build(); var app = builder.Build();
@@ -140,24 +70,24 @@ if (app.Environment.IsDevelopment() || app.Environment.IsStaging())
app.UseSwaggerUI(); app.UseSwaggerUI();
} }
//// cultura IT...
//var supportedCultures = new[]{
// new CultureInfo("it-IT")
// };
//app.UseRequestLocalization(new RequestLocalizationOptions
//{
// DefaultRequestCulture = new RequestCulture("it-IT"),
// SupportedCultures = supportedCultures,
// FallBackToParentCultures = false
//});
//CultureInfo.DefaultThreadCurrentCulture = CultureInfo.CreateSpecificCulture("it-IT");
app.UseHttpsRedirection(); app.UseHttpsRedirection();
app.UseAuthorization(); app.UseAuthorization();
app.MapControllers(); app.MapControllers();
// config healthcheck: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/health-checks
// prende tutti i predicati
app.MapHealthChecks("/health", new HealthCheckOptions
{
Predicate = _ => true,
ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse
});
// nasconde tutti i dettagli
app.MapHealthChecks("/health/live", new HealthCheckOptions
{
Predicate = _ => false
});
app.Run(); app.Run();
@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://wdc.egalware.com/UI/swagger/index.html</SiteUrlToLaunchAfterPublish>
<ExcludeApp_Data>false</ExcludeApp_Data>
<ProjectGuid>c2109e71-4eae-4167-9052-175123ccc2bc</ProjectGuid>
<SelfContained>false</SelfContained>
<MSDeployServiceURL>https://wdc-w-iis-01.ovh:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>wdc.egalware.com/SRV</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>true</EnableMSDeployBackup>
<EnableMsDeployAppOffline>true</EnableMsDeployAppOffline>
<UserName>steamware</UserName>
<_SavePWD>true</_SavePWD>
<_TargetId>IISWebDeploy</_TargetId>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<EncryptedPassword>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAs/7D3mNhw0uqUXeNq4OiHAAAAAACAAAAAAADZgAAwAAAABAAAACWZ0w5h84UFtYYB4xT+4rFAAAAAASAAACgAAAAEAAAAIcwjcdAiCDZN1OwNWoZSfQYAAAAiyiNcp/zeuC6Vt16+OALvsaO0rbkiVMVFAAAAHS264wElPIM4sYvPHMhW0YsXNe9</EncryptedPassword>
<History>True|2024-04-19T17:27:31.3742108Z;False|2024-04-19T16:51:43.3272308+02:00;False|2024-04-19T16:41:46.2086401+02:00;False|2024-04-19T16:41:31.3019711+02:00;False|2024-04-19T16:08:22.4275238+02:00;False|2024-04-19T16:05:18.6039531+02:00;False|2024-04-19T15:59:02.0838144+02:00;True|2024-02-15T19:34:35.8362293+01:00;False|2024-02-15T19:33:47.6399861+01:00;True|2024-02-13T17:40:01.6315651+01:00;False|2024-02-13T17:37:21.2072257+01:00;False|2024-02-13T17:33:33.1471911+01:00;True|2023-05-22T15:37:00.8611764+02:00;True|2023-05-11T17:35:09.5858697+02:00;True|2022-01-27T10:34:09.2346456+01:00;True|2022-01-27T10:13:36.3080675+01:00;True|2022-01-27T10:05:45.6649507+01:00;True|2022-01-26T14:34:16.5263189+01:00;True|2022-01-26T13:04:22.2336648+01:00;False|2022-01-26T13:04:06.0677616+01:00;True|2021-11-08T09:03:37.7855257+01:00;True|2021-11-08T09:03:34.8263479+01:00;True|2021-11-08T09:03:31.8889390+01:00;True|2021-10-29T16:19:33.6539408+02:00;True|2021-10-29T16:19:28.2082360+02:00;True|2021-10-26T16:12:11.7740950+02:00;True|2021-10-26T16:11:56.2014641+02:00;True|2021-10-26T16:11:22.2897842+02:00;False|2021-10-26T16:10:58.3733037+02:00;False|2021-10-26T16:10:29.4793991+02:00;True|2021-10-21T17:35:11.9761128+02:00;True|2021-10-18T20:22:00.9305399+02:00;True|2021-10-18T18:32:29.4558070+02:00;True|2021-10-18T18:32:22.8950294+02:00;True|2021-10-18T18:16:13.7563877+02:00;True|2021-10-18T18:15:48.5678387+02:00;True|2021-10-18T12:45:45.7228681+02:00;True|2021-10-18T12:14:22.3221605+02:00;True|2021-10-18T12:14:15.7373530+02:00;True|2021-10-18T12:10:43.8607301+02:00;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>
@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://wdc.egalware.com/UI/swagger/index.html</SiteUrlToLaunchAfterPublish>
<ExcludeApp_Data>false</ExcludeApp_Data>
<ProjectGuid>c2109e71-4eae-4167-9052-175123ccc2bc</ProjectGuid>
<SelfContained>false</SelfContained>
<MSDeployServiceURL>https://wdc-w-iis-02.ovh:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>wdc.egalware.com/SRV</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>true</EnableMSDeployBackup>
<EnableMsDeployAppOffline>true</EnableMsDeployAppOffline>
<UserName>steamware</UserName>
<_SavePWD>true</_SavePWD>
<_TargetId>IISWebDeploy</_TargetId>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<EncryptedPassword>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAs/7D3mNhw0uqUXeNq4OiHAAAAAACAAAAAAADZgAAwAAAABAAAACWZ0w5h84UFtYYB4xT+4rFAAAAAASAAACgAAAAEAAAAIcwjcdAiCDZN1OwNWoZSfQYAAAAiyiNcp/zeuC6Vt16+OALvsaO0rbkiVMVFAAAAHS264wElPIM4sYvPHMhW0YsXNe9</EncryptedPassword>
<History>True|2024-04-19T17:27:31.3742108Z;False|2024-04-19T16:51:43.3272308+02:00;False|2024-04-19T16:41:46.2086401+02:00;False|2024-04-19T16:41:31.3019711+02:00;False|2024-04-19T16:08:22.4275238+02:00;False|2024-04-19T16:05:18.6039531+02:00;False|2024-04-19T15:59:02.0838144+02:00;True|2024-02-15T19:34:35.8362293+01:00;False|2024-02-15T19:33:47.6399861+01:00;True|2024-02-13T17:40:01.6315651+01:00;False|2024-02-13T17:37:21.2072257+01:00;False|2024-02-13T17:33:33.1471911+01:00;True|2023-05-22T15:37:00.8611764+02:00;True|2023-05-11T17:35:09.5858697+02:00;True|2022-01-27T10:34:09.2346456+01:00;True|2022-01-27T10:13:36.3080675+01:00;True|2022-01-27T10:05:45.6649507+01:00;True|2022-01-26T14:34:16.5263189+01:00;True|2022-01-26T13:04:22.2336648+01:00;False|2022-01-26T13:04:06.0677616+01:00;True|2021-11-08T09:03:37.7855257+01:00;True|2021-11-08T09:03:34.8263479+01:00;True|2021-11-08T09:03:31.8889390+01:00;True|2021-10-29T16:19:33.6539408+02:00;True|2021-10-29T16:19:28.2082360+02:00;True|2021-10-26T16:12:11.7740950+02:00;True|2021-10-26T16:11:56.2014641+02:00;True|2021-10-26T16:11:22.2897842+02:00;False|2021-10-26T16:10:58.3733037+02:00;False|2021-10-26T16:10:29.4793991+02:00;True|2021-10-21T17:35:11.9761128+02:00;True|2021-10-18T20:22:00.9305399+02:00;True|2021-10-18T18:32:29.4558070+02:00;True|2021-10-18T18:32:22.8950294+02:00;True|2021-10-18T18:16:13.7563877+02:00;True|2021-10-18T18:15:48.5678387+02:00;True|2021-10-18T12:45:45.7228681+02:00;True|2021-10-18T12:14:22.3221605+02:00;True|2021-10-18T12:14:15.7373530+02:00;True|2021-10-18T12:10:43.8607301+02:00;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>
@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://wdc.egalware.com/UI/swagger/index.html</SiteUrlToLaunchAfterPublish>
<ExcludeApp_Data>false</ExcludeApp_Data>
<ProjectGuid>c2109e71-4eae-4167-9052-175123ccc2bc</ProjectGuid>
<SelfContained>false</SelfContained>
<MSDeployServiceURL>https://wdc-w-iis-01.ovh:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>Default Web Site/WDC/SRV</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>true</EnableMSDeployBackup>
<EnableMsDeployAppOffline>true</EnableMsDeployAppOffline>
<UserName>steamware</UserName>
<_SavePWD>true</_SavePWD>
<_TargetId>IISWebDeploy</_TargetId>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<EncryptedPassword>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAANAh+Q4GwYESjv9I3Vz/gKgAAAAACAAAAAAADZgAAwAAAABAAAAAZCj4Je1goQrORLePgnlVVAAAAAASAAACgAAAAEAAAAGZfY+EFaA+HwqpXWVf0/JgYAAAAz5wRfMtrjB7GbijGZUlW6g9q8ulJwQecFAAAADgQDtnMlYLrSQDGZI7Dg2OKfUhu</EncryptedPassword>
<History>True|2024-04-19T17:25:01.4640398Z;False|2024-04-19T19:21:34.3241722+02:00;False|2024-04-19T19:15:31.0848527+02:00;False|2024-04-19T19:11:09.2511710+02:00;False|2024-04-19T19:09:49.4254115+02:00;False|2024-04-19T19:08:44.7222054+02:00;False|2024-04-19T19:01:26.7064709+02:00;False|2024-04-19T18:59:58.4177224+02:00;False|2024-04-19T18:59:10.9459272+02:00;False|2024-04-19T16:51:43.3272308+02:00;False|2024-04-19T16:41:46.2086401+02:00;False|2024-04-19T16:41:31.3019711+02:00;False|2024-04-19T16:08:22.4275238+02:00;False|2024-04-19T16:05:18.6039531+02:00;False|2024-04-19T15:59:02.0838144+02:00;True|2024-02-15T19:34:35.8362293+01:00;False|2024-02-15T19:33:47.6399861+01:00;True|2024-02-13T17:40:01.6315651+01:00;False|2024-02-13T17:37:21.2072257+01:00;False|2024-02-13T17:33:33.1471911+01:00;True|2023-05-22T15:37:00.8611764+02:00;True|2023-05-11T17:35:09.5858697+02:00;True|2022-01-27T10:34:09.2346456+01:00;True|2022-01-27T10:13:36.3080675+01:00;True|2022-01-27T10:05:45.6649507+01:00;True|2022-01-26T14:34:16.5263189+01:00;True|2022-01-26T13:04:22.2336648+01:00;False|2022-01-26T13:04:06.0677616+01:00;True|2021-11-08T09:03:37.7855257+01:00;True|2021-11-08T09:03:34.8263479+01:00;True|2021-11-08T09:03:31.8889390+01:00;True|2021-10-29T16:19:33.6539408+02:00;True|2021-10-29T16:19:28.2082360+02:00;True|2021-10-26T16:12:11.7740950+02:00;True|2021-10-26T16:11:56.2014641+02:00;True|2021-10-26T16:11:22.2897842+02:00;False|2021-10-26T16:10:58.3733037+02:00;False|2021-10-26T16:10:29.4793991+02:00;True|2021-10-21T17:35:11.9761128+02:00;True|2021-10-18T20:22:00.9305399+02:00;True|2021-10-18T18:32:29.4558070+02:00;True|2021-10-18T18:32:22.8950294+02:00;True|2021-10-18T18:16:13.7563877+02:00;True|2021-10-18T18:15:48.5678387+02:00;True|2021-10-18T12:45:45.7228681+02:00;True|2021-10-18T12:14:22.3221605+02:00;True|2021-10-18T12:14:15.7373530+02:00;True|2021-10-18T12:10:43.8607301+02:00;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>
@@ -8,12 +8,12 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish> <LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform> <LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://seriate.egalware.com/WDC/SRV/swagger/index.html</SiteUrlToLaunchAfterPublish> <SiteUrlToLaunchAfterPublish>https://iis04.egalware.com/WDC/SRV/swagger/index.html</SiteUrlToLaunchAfterPublish>
<ExcludeApp_Data>false</ExcludeApp_Data> <ExcludeApp_Data>false</ExcludeApp_Data>
<ProjectGuid>c2109e71-4eae-4167-9052-175123ccc2bc</ProjectGuid> <ProjectGuid>c2109e71-4eae-4167-9052-175123ccc2bc</ProjectGuid>
<SelfContained>false</SelfContained> <SelfContained>false</SelfContained>
<MSDeployServiceURL>https://iis04.egalware.com:8172/MsDeploy.axd</MSDeployServiceURL> <MSDeployServiceURL>https://iis04.egalware.com:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>seriate.egalware.com/WDC/SRV</DeployIisAppPath> <DeployIisAppPath>Default Web Site/WDC/SRV</DeployIisAppPath>
<RemoteSitePhysicalPath /> <RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer> <SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod> <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
@@ -7,7 +7,7 @@ by editing this MSBuild file. In order to learn more about this please visit htt
<PropertyGroup> <PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile /> <TimeStampOfAssociatedLegacyPublishXmlFile />
<EncryptedPassword>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAk75miMJLMkCTEelQutKpbwAAAAACAAAAAAADZgAAwAAAABAAAAB43BVhUmznhAu3pUfV1IfOAAAAAASAAACgAAAAEAAAAEV8hgbujDFfsMjS77NS2oYYAAAAUHPGFaVWgRqQPDU4wk5KGABmVHKko4/9FAAAANtaROBOcPHljx4RnmQHj5aHdtYk</EncryptedPassword> <EncryptedPassword>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAk75miMJLMkCTEelQutKpbwAAAAACAAAAAAADZgAAwAAAABAAAAB43BVhUmznhAu3pUfV1IfOAAAAAASAAACgAAAAEAAAAEV8hgbujDFfsMjS77NS2oYYAAAAUHPGFaVWgRqQPDU4wk5KGABmVHKko4/9FAAAANtaROBOcPHljx4RnmQHj5aHdtYk</EncryptedPassword>
<History>True|2023-05-22T13:37:00.8611764Z;True|2023-05-11T17:35:09.5858697+02:00;True|2022-01-27T10:34:09.2346456+01:00;True|2022-01-27T10:13:36.3080675+01:00;True|2022-01-27T10:05:45.6649507+01:00;True|2022-01-26T14:34:16.5263189+01:00;True|2022-01-26T13:04:22.2336648+01:00;False|2022-01-26T13:04:06.0677616+01:00;True|2021-11-08T09:03:37.7855257+01:00;True|2021-11-08T09:03:34.8263479+01:00;True|2021-11-08T09:03:31.8889390+01:00;True|2021-10-29T16:19:33.6539408+02:00;True|2021-10-29T16:19:28.2082360+02:00;True|2021-10-26T16:12:11.7740950+02:00;True|2021-10-26T16:11:56.2014641+02:00;True|2021-10-26T16:11:22.2897842+02:00;False|2021-10-26T16:10:58.3733037+02:00;False|2021-10-26T16:10:29.4793991+02:00;True|2021-10-21T17:35:11.9761128+02:00;True|2021-10-18T20:22:00.9305399+02:00;True|2021-10-18T18:32:29.4558070+02:00;True|2021-10-18T18:32:22.8950294+02:00;True|2021-10-18T18:16:13.7563877+02:00;True|2021-10-18T18:15:48.5678387+02:00;True|2021-10-18T12:45:45.7228681+02:00;True|2021-10-18T12:14:22.3221605+02:00;True|2021-10-18T12:14:15.7373530+02:00;True|2021-10-18T12:10:43.8607301+02:00;</History> <History>True|2023-05-11T15:35:09.5858697Z;True|2022-01-27T10:34:09.2346456+01:00;True|2022-01-27T10:13:36.3080675+01:00;True|2022-01-27T10:05:45.6649507+01:00;True|2022-01-26T14:34:16.5263189+01:00;True|2022-01-26T13:04:22.2336648+01:00;False|2022-01-26T13:04:06.0677616+01:00;True|2021-11-08T09:03:37.7855257+01:00;True|2021-11-08T09:03:34.8263479+01:00;True|2021-11-08T09:03:31.8889390+01:00;True|2021-10-29T16:19:33.6539408+02:00;True|2021-10-29T16:19:28.2082360+02:00;True|2021-10-26T16:12:11.7740950+02:00;True|2021-10-26T16:11:56.2014641+02:00;True|2021-10-26T16:11:22.2897842+02:00;False|2021-10-26T16:10:58.3733037+02:00;False|2021-10-26T16:10:29.4793991+02:00;True|2021-10-21T17:35:11.9761128+02:00;True|2021-10-18T20:22:00.9305399+02:00;True|2021-10-18T18:32:29.4558070+02:00;True|2021-10-18T18:32:22.8950294+02:00;True|2021-10-18T18:16:13.7563877+02:00;True|2021-10-18T18:15:48.5678387+02:00;True|2021-10-18T12:45:45.7228681+02:00;True|2021-10-18T12:14:22.3221605+02:00;True|2021-10-18T12:14:15.7373530+02:00;True|2021-10-18T12:10:43.8607301+02:00;</History>
<LastFailureDetails /> <LastFailureDetails />
</PropertyGroup> </PropertyGroup>
</Project> </Project>
@@ -1,34 +1,4 @@
{ {
"profiles": {
"WebDoorCreator.API": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"dotnetRunMessages": true,
"applicationUrl": "https://localhost:7043;http://localhost:5240"
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"WSL": {
"commandName": "WSL2",
"launchBrowser": true,
"launchUrl": "https://localhost:7043/swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_URLS": "https://localhost:7043;http://localhost:5240"
},
"distributionName": ""
}
},
"$schema": "https://json.schemastore.org/launchsettings.json", "$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": { "iisSettings": {
"windowsAuthentication": false, "windowsAuthentication": false,
@@ -37,5 +7,25 @@
"applicationUrl": "http://localhost:33043", "applicationUrl": "http://localhost:33043",
"sslPort": 44387 "sslPort": 44387
} }
},
"profiles": {
"WebDoorCreator.API": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7043;http://localhost:5240",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
} }
} }
-447
View File
@@ -1,447 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="LocalSource">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>bd60bef3-b3d9-477e-9052-ab58c6f1ec86</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="Items">
<Query>
<DataSourceName>LocalSource</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="Description">
<DataField>Description</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Price">
<DataField>Price</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="Qty">
<DataField>Qty</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="Total">
<DataField>Total</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>LocalSource</rd:DataSetName>
<rd:TableName>Items</rd:TableName>
<rd:ObjectDataSourceType>ReportViewerCore.ReportItem</rd:ObjectDataSourceType>
</rd:DataSetInfo>
</DataSet>
</DataSets>
<ReportSections>
<ReportSection>
<Body>
<ReportItems>
<Tablix Name="Tablix1">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>8.31785cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.67938cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Description</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Price</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Qty</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Total</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.67938cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Description">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Description.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Description</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Price">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Price.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Price</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Qty">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Qty.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Qty</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Total">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Total.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Total</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember>
<TablixMember>
<Group Name="Details" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>Items</DataSetName>
<Top>2.85433cm</Top>
<Left>0.3175cm</Left>
<Height>1.35875cm</Height>
<Width>15.875cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
<Textbox Name="Textbox6">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!Title.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontSize>26pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox6</rd:DefaultName>
<Top>0.26141cm</Top>
<Left>0.3175cm</Left>
<Height>1.79062cm</Height>
<Width>15.875cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>2in</Height>
<Style />
</Body>
<Width>6.5in</Width>
<Page>
<PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth>
<LeftMargin>2cm</LeftMargin>
<RightMargin>2cm</RightMargin>
<TopMargin>2cm</TopMargin>
<BottomMargin>2cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
</ReportSection>
</ReportSections>
<ReportParameters>
<ReportParameter Name="Title">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<ReportParametersLayout>
<GridLayoutDefinition>
<NumberOfColumns>4</NumberOfColumns>
<NumberOfRows>2</NumberOfRows>
<CellDefinitions>
<CellDefinition>
<ColumnIndex>0</ColumnIndex>
<RowIndex>0</RowIndex>
<ParameterName>Title</ParameterName>
</CellDefinition>
</CellDefinitions>
</GridLayoutDefinition>
</ReportParametersLayout>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>156b21d2-9542-4902-99ef-7ec823774bb2</rd:ReportID>
</Report>
File diff suppressed because it is too large Load Diff
+4 -39
View File
@@ -4,13 +4,9 @@
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>36a4225d-c8d7-4b97-b6db-6ab2af37bfde</UserSecretsId>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS-OVH-IIS01.pubxml" />
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS-OVH-IIS02.pubxml" />
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS-OVH-PROD-test.pubxml" />
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS-PROD.pubxml" /> <_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS-PROD.pubxml" />
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS01.pubxml" /> <_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS01.pubxml" />
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS02.pubxml" /> <_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS02.pubxml" />
@@ -18,34 +14,17 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="Properties\PublishProfiles\IIS-OVH-IIS02.pubxml.user" />
<None Include="Properties\PublishProfiles\IIS-OVH-PROD-test.pubxml.user" />
<None Include="Properties\PublishProfiles\IIS-OVH-IIS01.pubxml.user" />
<None Include="Properties\PublishProfiles\IIS-PROD.pubxml.user" /> <None Include="Properties\PublishProfiles\IIS-PROD.pubxml.user" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="AspNetCore.HealthChecks.Redis" Version="6.0.4" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="6.0.2" /> <PackageReference Include="NLog" Version="5.1.2" />
<PackageReference Include="AspNetCore.HealthChecks.System" Version="6.0.5" /> <PackageReference Include="StackExchange.Redis" Version="2.6.96" />
<PackageReference Include="AspNetCore.HealthChecks.UI" Version="6.0.5" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="6.0.5" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Core" Version="6.0.5" />
<PackageReference Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="6.0.5" />
<PackageReference Include="AspNetCore.HealthChecks.Uris" Version="6.0.3" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="6.0.29" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="6.0.29" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NLog" Version="5.2.2" />
<PackageReference Include="SkiaSharp" Version="2.88.8" />
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="2.88.3" />
<PackageReference Include="StackExchange.Redis" Version="2.6.122" />
<PackageReference Include="StackExchange.Redis.Extensions.AspNetCore" Version="9.1.0" /> <PackageReference Include="StackExchange.Redis.Extensions.AspNetCore" Version="9.1.0" />
<PackageReference Include="StackExchange.Redis.Extensions.Core" Version="9.1.0" /> <PackageReference Include="StackExchange.Redis.Extensions.Core" Version="9.1.0" />
<PackageReference Include="StackExchange.Redis.Extensions.Newtonsoft" Version="9.1.0" /> <PackageReference Include="StackExchange.Redis.Extensions.Newtonsoft" Version="9.1.0" />
<PackageReference Include="Svg" Version="3.4.4" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
<PackageReference Include="Svg.Skia" Version="1.0.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@@ -53,18 +32,4 @@
<ProjectReference Include="..\WebDoorCreator.Data\WebDoorCreator.Data.csproj" /> <ProjectReference Include="..\WebDoorCreator.Data\WebDoorCreator.Data.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Update="logs\.placeholder.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Reports\Report.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Reports\ReportOrder.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="powershell.exe -ExecutionPolicy Unrestricted -NoProfile -NonInteractive -File $(ProjectDir)\post-build.ps1 -ProjectDir $(ProjectDir) -ProjectPath $(ProjectPath)" />
</Target>
</Project> </Project>
@@ -1,12 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"ConnectionStrings": {
"Redis": "wdc-u-redis-01.ovh:6379, DefaultDatabase=12, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false, password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG",
"WDC.DB": "Server=WDC-W-SQL-01\\SQLEXPRESS;Database=DCA_WebDoorCreator; User ID=steamware;Password=viadante16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.UI;"
}
}
+4 -10
View File
@@ -7,8 +7,8 @@
}, },
"AllowedHosts": "*", "AllowedHosts": "*",
"ConnectionStrings": { "ConnectionStrings": {
"Redis": "redis.ufficio:26379,serviceName=devel, DefaultDatabase=11, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false", "Redis": "nkcredis.steamware.net:6379, DefaultDatabase=11, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false, password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG",
"WDC.DB": "Server=SQL2016DEV;Database=WebDoorCreator; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.SRV;" "WDC.DB": "Server=SQL2016DEV;Database=WebDoorCreator; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.UI;"
}, },
"ExternalProviders": { "ExternalProviders": {
"MailKit": { "MailKit": {
@@ -24,13 +24,7 @@
}, },
"MailDest": { "MailDest": {
"Admin": "samuele@steamware.net", "Admin": "samuele@steamware.net",
"ProjCheck": "samuele.locatelli@egalware.com", "ProjCheck": "samuele.locatelli@egalware.com,mara.baroni@egalware.com",
"TimbCheck": "samuele.locatelli@egalware.com" "TimbCheck": "samuele.locatelli@egalware.com,mara.baroni@egalware.com"
},
"RuntimeOpt": {
"WaitReloadSvg": 200,
"VetoRemoveProcessing": 5,
"StatSampleSize": 30,
"LogTimingEnable": true
} }
} }
-32
View File
@@ -1,32 +0,0 @@
param([string]$ProjectDir, [string]$ProjectPath);
$MainVers="..\Resources\MainVers.txt"
$FileVers="..\Resources\VersNum.txt"
$FileManIn="..\Resources\manifest-original.xml"
$FileManOut="..\Resources\manifest.xml"
$FileCLogIn="..\Resources\ChangeLog-original.html"
$FileCLogOut="..\Resources\ChangeLog.html"
$MajMin=Get-Content $MainVers #"0.9."
$currentDate = get-date -format yyMM;
$currentTime = get-date -format ddHH;
$find = "<Version>(.|\n)*?</Version>";
$currRelNum=$MajMin + $currentDate +"." + $currentTime
$replace = "<Version>" + $MajMin + $currentDate +"." + $currentTime + "</Version>";
$csproj = Get-Content $ProjectPath
$csprojUpdated = $csproj -replace $find, $replace
Set-Content -Path $ProjectPath -Value $csprojUpdated
Set-Content -Path $FileVers -Value $currRelNum
# replace x manifest
$manData = Get-Content $FileManIn
$manData = $manData -replace "1.0.0.0", $currRelNum
$manData = $manData -replace "{{DIRNAME}}", "WDC"
$manData = $manData -replace "{{BRANCHNAME}}", "stable"
$manData = $manData -replace "{{PACKNAME}}", "WDC.API"
Set-Content -Path $FileManOut -Value $manData
# replace x ChangeLog
$clogData = Get-Content $FileCLogIn
$clogData = $clogData -replace "{{CURRENT-REL}}", $currRelNum
Set-Content -Path $FileCLogOut -Value $clogData
@@ -1,23 +0,0 @@
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 210 297"
version="1.1"
id="svg41"
inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"
sodipodi:docname="Missing.svg">
<g
inkscape:label="Livello 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#454c55;stroke:none;stroke-width:0.460184"
d="M 67.284871,27.840094 C 54.209292,29.845169 46.354698,40.041553 37.483749,49.537223 30.786635,56.705844 22.139596,63.788212 18.364192,73.342671 13.425835,85.840068 15.688899,101.95827 15.688899,115.24029 v 83.31911 42.37372 c 0,7.58822 -0.702068,15.87777 3.692177,22.37522 8.317054,12.29838 27.557626,8.09577 39.897523,8.09577 h 79.617931 c 12.51202,0 26.8348,2.07774 39.14178,-0.29328 20.95597,-4.03694 15.56774,-34.14276 15.56774,-50.65042 V 90.482618 57.154964 c 0,-6.779801 0.48839,-13.912333 -2.82399,-19.996591 C 184.24273,25.145859 170.34873,27.636197 159.357,27.636197 H 97.975587 c -9.965149,0 -20.828764,-1.308344 -30.690716,0.203897 M 65.950496,40.491145 V 68.58159 c 0,3.334243 0.635156,8.230973 -1.880591,10.762918 -2.011793,2.023943 -4.923857,1.615918 -7.460068,1.615918 -5.485632,0 -10.971706,-0.02807 -16.457327,3.51e-4 -3.463614,0.01808 -8.012815,1.523078 -7.777343,6.188941 0.285906,5.66571 6.133826,5.71331 10.001297,5.71331 9.131159,0 21.653851,2.511 28.904873,-4.80536 C 76.981364,82.306261 76.62552,75.34031 76.62552,67.629244 V 39.538921 h 78.72834 c 6.51178,0 22.20629,-3.148174 26.00571,3.816212 2.13101,3.906515 1.12667,9.914114 1.12667,14.275944 v 32.375431 120.931732 37.1365 c 0,5.08581 -0.86957,10.76627 -6.6719,11.37664 -12.057,1.26788 -24.7972,0.0499 -36.91781,0.0499 H 64.616109 38.818123 c -3.881264,0 -8.102032,0.52467 -10.615648,-3.37704 -2.606754,-4.04646 -1.39376,-10.98766 -1.39376,-15.66733 V 202.84434 121.42967 94.767548 c 0,-5.82043 -0.394349,-11.702756 1.918165,-17.139934 2.59243,-6.095472 7.972696,-10.587133 12.315209,-15.235482 6.361872,-6.809749 15.302659,-20.997658 24.908407,-21.901027 M 82.852622,149.04404 v -0.47611 c 2.228416,-1.68019 4.853137,-4.06073 6.164829,-6.66553 2.329384,-4.62682 -1.57368,-9.44601 -6.164829,-8.43713 -3.058838,0.67179 -5.856141,4.41734 -7.561479,7.00881 -2.09231,-2.23963 -4.330057,-5.57095 -7.116681,-6.80503 -4.373656,-1.9373 -8.256257,2.08393 -7.460067,6.80503 0.576892,3.41988 5.655983,5.35289 5.655983,8.56996 0,4.59303 -10.127493,8.24193 -4.321609,14.09569 5.910848,5.95899 8.604069,-4.54684 13.241932,-4.54684 3.099767,0 4.747268,5.79806 8.451512,6.10419 3.582359,0.29567 6.831128,-3.17374 5.852131,-7.08307 -0.79484,-3.17279 -4.32427,-6.70886 -6.741722,-8.56997 M 122.88576,133.6857 c -9.48787,3.93362 2.64207,11.32569 2.64207,15.35834 0,2.57527 -4.14146,4.93963 -5.25034,7.14164 -1.98378,3.9398 0.69032,8.54283 4.83046,8.52854 2.37029,-0.008 4.14858,-1.65495 5.7823,-3.31039 0.99056,-1.00411 2.41256,-3.18612 4.00314,-2.73905 3.99602,1.12314 5.45272,7.87723 10.67459,5.7376 5.41757,-2.22011 3.38931,-8.28002 0.43857,-11.54947 -0.94741,-1.04934 -2.98768,-2.58336 -2.57001,-4.28498 0.66941,-2.72953 4.0823,-4.4221 5.14402,-7.14163 1.96465,-5.03392 -2.79463,-10.02972 -7.46007,-7.53253 -2.13189,1.14124 -4.21841,5.60143 -6.6719,5.60143 -4.45949,0 -5.69601,-8.24194 -11.56283,-5.8095 m -24.46539,56.98172 c -11.577511,1.64734 -22.445577,5.80805 -31.580295,13.80716 -3.447589,3.019 -10.885415,12.52215 -1.77917,14.39182 5.186728,1.06506 11.254602,-7.31684 15.567751,-9.8983 9.005719,-5.39003 19.519294,-7.81533 29.801124,-6.46365 7.65399,1.00649 15.44988,3.90551 21.79485,8.6428 3.52988,2.63526 7.64111,8.85895 12.45376,7.69677 3.41067,-0.82366 5.02037,-5.08246 3.47917,-8.3819 -1.80408,-3.86172 -6.4366,-7.01927 -9.70583,-9.35316 -11.39247,-8.13337 -26.34952,-12.38788 -40.03136,-10.44154 z"
id="path22" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.0 KiB

@@ -1,20 +0,0 @@
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 210 297"
version="1.1"
id="svg41"
inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"
sodipodi:docname="MissingOrange.svg">
<g id="layer1">
<path
style="fill:#FD8C00;stroke:none;stroke-width:0.460184"
d="M 67.284871,27.840094 C 54.209292,29.845169 46.354698,40.041553 37.483749,49.537223 30.786635,56.705844 22.139596,63.788212 18.364192,73.342671 13.425835,85.840068 15.688899,101.95827 15.688899,115.24029 v 83.31911 42.37372 c 0,7.58822 -0.702068,15.87777 3.692177,22.37522 8.317054,12.29838 27.557626,8.09577 39.897523,8.09577 h 79.617931 c 12.51202,0 26.8348,2.07774 39.14178,-0.29328 20.95597,-4.03694 15.56774,-34.14276 15.56774,-50.65042 V 90.482618 57.154964 c 0,-6.779801 0.48839,-13.912333 -2.82399,-19.996591 C 184.24273,25.145859 170.34873,27.636197 159.357,27.636197 H 97.975587 c -9.965149,0 -20.828764,-1.308344 -30.690716,0.203897 M 65.950496,40.491145 V 68.58159 c 0,3.334243 0.635156,8.230973 -1.880591,10.762918 -2.011793,2.023943 -4.923857,1.615918 -7.460068,1.615918 -5.485632,0 -10.971706,-0.02807 -16.457327,3.51e-4 -3.463614,0.01808 -8.012815,1.523078 -7.777343,6.188941 0.285906,5.66571 6.133826,5.71331 10.001297,5.71331 9.131159,0 21.653851,2.511 28.904873,-4.80536 C 76.981364,82.306261 76.62552,75.34031 76.62552,67.629244 V 39.538921 h 78.72834 c 6.51178,0 22.20629,-3.148174 26.00571,3.816212 2.13101,3.906515 1.12667,9.914114 1.12667,14.275944 v 32.375431 120.931732 37.1365 c 0,5.08581 -0.86957,10.76627 -6.6719,11.37664 -12.057,1.26788 -24.7972,0.0499 -36.91781,0.0499 H 64.616109 38.818123 c -3.881264,0 -8.102032,0.52467 -10.615648,-3.37704 -2.606754,-4.04646 -1.39376,-10.98766 -1.39376,-15.66733 V 202.84434 121.42967 94.767548 c 0,-5.82043 -0.394349,-11.702756 1.918165,-17.139934 2.59243,-6.095472 7.972696,-10.587133 12.315209,-15.235482 6.361872,-6.809749 15.302659,-20.997658 24.908407,-21.901027 M 82.852622,149.04404 v -0.47611 c 2.228416,-1.68019 4.853137,-4.06073 6.164829,-6.66553 2.329384,-4.62682 -1.57368,-9.44601 -6.164829,-8.43713 -3.058838,0.67179 -5.856141,4.41734 -7.561479,7.00881 -2.09231,-2.23963 -4.330057,-5.57095 -7.116681,-6.80503 -4.373656,-1.9373 -8.256257,2.08393 -7.460067,6.80503 0.576892,3.41988 5.655983,5.35289 5.655983,8.56996 0,4.59303 -10.127493,8.24193 -4.321609,14.09569 5.910848,5.95899 8.604069,-4.54684 13.241932,-4.54684 3.099767,0 4.747268,5.79806 8.451512,6.10419 3.582359,0.29567 6.831128,-3.17374 5.852131,-7.08307 -0.79484,-3.17279 -4.32427,-6.70886 -6.741722,-8.56997 M 122.88576,133.6857 c -9.48787,3.93362 2.64207,11.32569 2.64207,15.35834 0,2.57527 -4.14146,4.93963 -5.25034,7.14164 -1.98378,3.9398 0.69032,8.54283 4.83046,8.52854 2.37029,-0.008 4.14858,-1.65495 5.7823,-3.31039 0.99056,-1.00411 2.41256,-3.18612 4.00314,-2.73905 3.99602,1.12314 5.45272,7.87723 10.67459,5.7376 5.41757,-2.22011 3.38931,-8.28002 0.43857,-11.54947 -0.94741,-1.04934 -2.98768,-2.58336 -2.57001,-4.28498 0.66941,-2.72953 4.0823,-4.4221 5.14402,-7.14163 1.96465,-5.03392 -2.79463,-10.02972 -7.46007,-7.53253 -2.13189,1.14124 -4.21841,5.60143 -6.6719,5.60143 -4.45949,0 -5.69601,-8.24194 -11.56283,-5.8095 m -24.46539,56.98172 c -11.577511,1.64734 -22.445577,5.80805 -31.580295,13.80716 -3.447589,3.019 -10.885415,12.52215 -1.77917,14.39182 5.186728,1.06506 11.254602,-7.31684 15.567751,-9.8983 9.005719,-5.39003 19.519294,-7.81533 29.801124,-6.46365 7.65399,1.00649 15.44988,3.90551 21.79485,8.6428 3.52988,2.63526 7.64111,8.85895 12.45376,7.69677 3.41067,-0.82366 5.02037,-5.08246 3.47917,-8.3819 -1.80408,-3.86172 -6.4366,-7.01927 -9.70583,-9.35316 -11.39247,-8.13337 -26.34952,-12.38788 -40.03136,-10.44154 z"
id="path22" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

-10
View File
@@ -10,27 +10,17 @@ EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Debug|Any CPU.Build.0 = Debug|Any CPU {96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Debug|x64.ActiveCfg = Debug|x64
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Debug|x64.Build.0 = Debug|x64
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Release|Any CPU.ActiveCfg = Release|Any CPU {96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Release|Any CPU.Build.0 = Release|Any CPU {96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Release|Any CPU.Build.0 = Release|Any CPU
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Release|x64.ActiveCfg = Release|x64
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Release|x64.Build.0 = Release|x64
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Debug|Any CPU.Build.0 = Debug|Any CPU {4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Debug|x64.ActiveCfg = Debug|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Debug|x64.Build.0 = Debug|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|Any CPU.ActiveCfg = Release|Any CPU {4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|Any CPU.Build.0 = Release|Any CPU {4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|Any CPU.Build.0 = Release|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|x64.ActiveCfg = Release|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
-45
View File
@@ -1,45 +0,0 @@
'----------------------------------------------------------------------------
' EgalTech 2015-2015
'----------------------------------------------------------------------------
' File : ConstIni.vb Data : 12.02.15 Versione : 1.6b3
' Contenuto : Modulo costanti sezione e chiavi per file Ini.
'
'
'
' Modifiche : 12.02.15 DS Creazione modulo.
'
'
'----------------------------------------------------------------------------
Public Module ConstIni
' massimo numero di istanze del programma ammesse
Public Const MAX_INST As Integer = 32
' File con dati di licenza
Public Const LIC_FILE_NAME As String = "WebDoorCreator.CamSrv.lic"
Public Const S_LICENCE As String = "Licence"
Public Const K_LOCKID As String = "LockId"
Public Const K_KEY As String = "Key"
' File di log generale
Public Const GENLOG_FILE_NAME As String = "WebDoorCreator.CamSrv#.txt"
Public Const INI_FILE_NAME As String = "WebDoorCreator.CamSrv.ini"
Public Const S_GENERAL As String = "General"
Public Const K_DEBUG As String = "Debug"
Public Const K_LICENCE As String = "Licence"
Public Const K_NETKEY As String = "NetKey"
Public Const K_USERLEVEL As String = "UserLevel"
Public Const K_MAXINST As String = "MaxInstances"
Public Const K_INSTANCES As String = "Instances"
Public Const K_COMMANDLOG As String = "CommandLog"
Public Const K_STARTINSTANCES As String = "StartInstances"
Public Const K_PROCESSPATH As String = "ProcessPath"
Public Const K_PROCESSATSTART As String = "ProcessAtStart"
Public Const K_BASEURL As String = "BaseUrl"
Public Const K_BASEIP As String = "BaseIp"
Public Const K_MUTEXNAME As String = "MutexName"
End Module
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' by using the '*' as shown below: ' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.5.6.1")> <Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("2.5.6.1")> <Assembly: AssemblyFileVersion("1.0.0.0")>
+74 -93
View File
@@ -49,24 +49,22 @@ Partial Class ProcMan
Me.ThreadCurrentStatusList = New System.Windows.Forms.ListView() Me.ThreadCurrentStatusList = New System.Windows.Forms.ListView()
Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.chkStatAggr = New System.Windows.Forms.CheckBox() Me.chkStatAggr = New System.Windows.Forms.CheckBox()
Me.btnExportStats = New System.Windows.Forms.Button() Me.btnExportStats = New System.Windows.Forms.Button()
Me.chkAutoRestart = New System.Windows.Forms.CheckBox() Me.chkAutoRestart = New System.Windows.Forms.CheckBox()
Me.TimerCheck = New System.Windows.Forms.Timer(Me.components) Me.TimerCheck = New System.Windows.Forms.Timer(Me.components)
Me.Button1 = New System.Windows.Forms.Button() Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.TimerResetProcessing = New System.Windows.Forms.Timer(Me.components) Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.StatusStrip1.SuspendLayout() Me.StatusStrip1.SuspendLayout()
Me.GroupBox1.SuspendLayout() Me.GroupBox1.SuspendLayout()
Me.SuspendLayout() Me.SuspendLayout()
' '
'btnTestPing 'btnTestPing
' '
Me.btnTestPing.Location = New System.Drawing.Point(19, 20) Me.btnTestPing.Location = New System.Drawing.Point(17, 16)
Me.btnTestPing.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.btnTestPing.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.btnTestPing.Name = "btnTestPing" Me.btnTestPing.Name = "btnTestPing"
Me.btnTestPing.Size = New System.Drawing.Size(112, 35) Me.btnTestPing.Size = New System.Drawing.Size(100, 28)
Me.btnTestPing.TabIndex = 0 Me.btnTestPing.TabIndex = 0
Me.btnTestPing.Text = "Test Ping" Me.btnTestPing.Text = "Test Ping"
Me.btnTestPing.UseVisualStyleBackColor = True Me.btnTestPing.UseVisualStyleBackColor = True
@@ -74,39 +72,39 @@ Partial Class ProcMan
'lblpingTest 'lblpingTest
' '
Me.lblpingTest.AutoSize = True Me.lblpingTest.AutoSize = True
Me.lblpingTest.Location = New System.Drawing.Point(172, 28) Me.lblpingTest.Location = New System.Drawing.Point(153, 22)
Me.lblpingTest.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblpingTest.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.lblpingTest.Name = "lblpingTest" Me.lblpingTest.Name = "lblpingTest"
Me.lblpingTest.Size = New System.Drawing.Size(36, 20) Me.lblpingTest.Size = New System.Drawing.Size(28, 16)
Me.lblpingTest.TabIndex = 1 Me.lblpingTest.TabIndex = 1
Me.lblpingTest.Text = "???" Me.lblpingTest.Text = "???"
' '
'lblTestAlive 'lblTestAlive
' '
Me.lblTestAlive.AutoSize = True Me.lblTestAlive.AutoSize = True
Me.lblTestAlive.Location = New System.Drawing.Point(411, 28) Me.lblTestAlive.Location = New System.Drawing.Point(365, 22)
Me.lblTestAlive.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblTestAlive.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.lblTestAlive.Name = "lblTestAlive" Me.lblTestAlive.Name = "lblTestAlive"
Me.lblTestAlive.Size = New System.Drawing.Size(36, 20) Me.lblTestAlive.Size = New System.Drawing.Size(28, 16)
Me.lblTestAlive.TabIndex = 3 Me.lblTestAlive.TabIndex = 3
Me.lblTestAlive.Text = "???" Me.lblTestAlive.Text = "???"
' '
'btnTestAlive 'btnTestAlive
' '
Me.btnTestAlive.Location = New System.Drawing.Point(258, 20) Me.btnTestAlive.Location = New System.Drawing.Point(229, 16)
Me.btnTestAlive.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.btnTestAlive.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.btnTestAlive.Name = "btnTestAlive" Me.btnTestAlive.Name = "btnTestAlive"
Me.btnTestAlive.Size = New System.Drawing.Size(112, 35) Me.btnTestAlive.Size = New System.Drawing.Size(100, 28)
Me.btnTestAlive.TabIndex = 2 Me.btnTestAlive.TabIndex = 2
Me.btnTestAlive.Text = "Test Alive" Me.btnTestAlive.Text = "Test Alive"
Me.btnTestAlive.UseVisualStyleBackColor = True Me.btnTestAlive.UseVisualStyleBackColor = True
' '
'btnResetQueue 'btnResetQueue
' '
Me.btnResetQueue.Location = New System.Drawing.Point(19, 251) Me.btnResetQueue.Location = New System.Drawing.Point(17, 201)
Me.btnResetQueue.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.btnResetQueue.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.btnResetQueue.Name = "btnResetQueue" Me.btnResetQueue.Name = "btnResetQueue"
Me.btnResetQueue.Size = New System.Drawing.Size(112, 35) Me.btnResetQueue.Size = New System.Drawing.Size(100, 28)
Me.btnResetQueue.TabIndex = 6 Me.btnResetQueue.TabIndex = 6
Me.btnResetQueue.Text = "Reset Q" Me.btnResetQueue.Text = "Reset Q"
Me.btnResetQueue.UseVisualStyleBackColor = True Me.btnResetQueue.UseVisualStyleBackColor = True
@@ -116,41 +114,41 @@ Partial Class ProcMan
Me.txtOut.BackColor = System.Drawing.SystemColors.ControlDarkDark Me.txtOut.BackColor = System.Drawing.SystemColors.ControlDarkDark
Me.txtOut.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtOut.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtOut.ForeColor = System.Drawing.Color.Yellow Me.txtOut.ForeColor = System.Drawing.Color.Yellow
Me.txtOut.Location = New System.Drawing.Point(18, 300) Me.txtOut.Location = New System.Drawing.Point(16, 240)
Me.txtOut.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.txtOut.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.txtOut.MinimumSize = New System.Drawing.Size(88, 183) Me.txtOut.MinimumSize = New System.Drawing.Size(79, 147)
Me.txtOut.Multiline = True Me.txtOut.Multiline = True
Me.txtOut.Name = "txtOut" Me.txtOut.Name = "txtOut"
Me.txtOut.Size = New System.Drawing.Size(111, 215) Me.txtOut.Size = New System.Drawing.Size(99, 173)
Me.txtOut.TabIndex = 7 Me.txtOut.TabIndex = 7
Me.txtOut.Text = "---" Me.txtOut.Text = "---"
' '
'btnQueueStatus 'btnQueueStatus
' '
Me.btnQueueStatus.Location = New System.Drawing.Point(19, 99) Me.btnQueueStatus.Location = New System.Drawing.Point(17, 79)
Me.btnQueueStatus.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.btnQueueStatus.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.btnQueueStatus.Name = "btnQueueStatus" Me.btnQueueStatus.Name = "btnQueueStatus"
Me.btnQueueStatus.Size = New System.Drawing.Size(112, 35) Me.btnQueueStatus.Size = New System.Drawing.Size(100, 28)
Me.btnQueueStatus.TabIndex = 8 Me.btnQueueStatus.TabIndex = 8
Me.btnQueueStatus.Text = "Stato Queue" Me.btnQueueStatus.Text = "Stato Queue"
Me.btnQueueStatus.UseVisualStyleBackColor = True Me.btnQueueStatus.UseVisualStyleBackColor = True
' '
'StartProcess 'StartProcess
' '
Me.StartProcess.Location = New System.Drawing.Point(19, 29) Me.StartProcess.Location = New System.Drawing.Point(17, 23)
Me.StartProcess.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.StartProcess.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.StartProcess.Name = "StartProcess" Me.StartProcess.Name = "StartProcess"
Me.StartProcess.Size = New System.Drawing.Size(112, 35) Me.StartProcess.Size = New System.Drawing.Size(100, 28)
Me.StartProcess.TabIndex = 9 Me.StartProcess.TabIndex = 9
Me.StartProcess.Text = "Start" Me.StartProcess.Text = "Start"
Me.StartProcess.UseVisualStyleBackColor = True Me.StartProcess.UseVisualStyleBackColor = True
' '
'StopProcess 'StopProcess
' '
Me.StopProcess.Location = New System.Drawing.Point(366, 28) Me.StopProcess.Location = New System.Drawing.Point(325, 22)
Me.StopProcess.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.StopProcess.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.StopProcess.Name = "StopProcess" Me.StopProcess.Name = "StopProcess"
Me.StopProcess.Size = New System.Drawing.Size(112, 35) Me.StopProcess.Size = New System.Drawing.Size(100, 28)
Me.StopProcess.TabIndex = 10 Me.StopProcess.TabIndex = 10
Me.StopProcess.Text = "Stop" Me.StopProcess.Text = "Stop"
Me.StopProcess.UseVisualStyleBackColor = True Me.StopProcess.UseVisualStyleBackColor = True
@@ -159,17 +157,17 @@ Partial Class ProcMan
' '
Me.StatusStrip1.ImageScalingSize = New System.Drawing.Size(20, 20) Me.StatusStrip1.ImageScalingSize = New System.Drawing.Size(20, 20)
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsProgBar}) Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsProgBar})
Me.StatusStrip1.Location = New System.Drawing.Point(0, 659) Me.StatusStrip1.Location = New System.Drawing.Point(0, 526)
Me.StatusStrip1.Name = "StatusStrip1" Me.StatusStrip1.Name = "StatusStrip1"
Me.StatusStrip1.Padding = New System.Windows.Forms.Padding(1, 0, 21, 0) Me.StatusStrip1.Padding = New System.Windows.Forms.Padding(1, 0, 19, 0)
Me.StatusStrip1.Size = New System.Drawing.Size(828, 26) Me.StatusStrip1.Size = New System.Drawing.Size(736, 22)
Me.StatusStrip1.TabIndex = 11 Me.StatusStrip1.TabIndex = 11
Me.StatusStrip1.Text = "StatusStrip1" Me.StatusStrip1.Text = "StatusStrip1"
' '
'tsProgBar 'tsProgBar
' '
Me.tsProgBar.Name = "tsProgBar" Me.tsProgBar.Name = "tsProgBar"
Me.tsProgBar.Size = New System.Drawing.Size(150, 18) Me.tsProgBar.Size = New System.Drawing.Size(133, 14)
Me.tsProgBar.Step = 1 Me.tsProgBar.Step = 1
' '
'txtQueue 'txtQueue
@@ -177,42 +175,42 @@ Partial Class ProcMan
Me.txtQueue.BackColor = System.Drawing.SystemColors.ControlDarkDark Me.txtQueue.BackColor = System.Drawing.SystemColors.ControlDarkDark
Me.txtQueue.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!) Me.txtQueue.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!)
Me.txtQueue.ForeColor = System.Drawing.SystemColors.Window Me.txtQueue.ForeColor = System.Drawing.SystemColors.Window
Me.txtQueue.Location = New System.Drawing.Point(19, 142) Me.txtQueue.Location = New System.Drawing.Point(17, 114)
Me.txtQueue.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.txtQueue.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.txtQueue.Multiline = True Me.txtQueue.Multiline = True
Me.txtQueue.Name = "txtQueue" Me.txtQueue.Name = "txtQueue"
Me.txtQueue.Size = New System.Drawing.Size(111, 96) Me.txtQueue.Size = New System.Drawing.Size(99, 78)
Me.txtQueue.TabIndex = 12 Me.txtQueue.TabIndex = 12
Me.txtQueue.Text = "Q Status:" Me.txtQueue.Text = "Q Status:"
' '
'Label1 'Label1
' '
Me.Label1.AutoSize = True Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(148, 38) Me.Label1.Location = New System.Drawing.Point(132, 30)
Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label1.Name = "Label1" Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(44, 20) Me.Label1.Size = New System.Drawing.Size(35, 16)
Me.Label1.TabIndex = 13 Me.Label1.TabIndex = 13
Me.Label1.Text = "num:" Me.Label1.Text = "num:"
' '
'txtNumThread 'txtNumThread
' '
Me.txtNumThread.Location = New System.Drawing.Point(192, 32) Me.txtNumThread.Location = New System.Drawing.Point(171, 26)
Me.txtNumThread.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.txtNumThread.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.txtNumThread.Name = "txtNumThread" Me.txtNumThread.Name = "txtNumThread"
Me.txtNumThread.Size = New System.Drawing.Size(46, 26) Me.txtNumThread.Size = New System.Drawing.Size(41, 22)
Me.txtNumThread.TabIndex = 14 Me.txtNumThread.TabIndex = 14
Me.txtNumThread.Text = "0" Me.txtNumThread.Text = "1"
Me.txtNumThread.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.txtNumThread.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
' '
'lblRunning 'lblRunning
' '
Me.lblRunning.AutoSize = True Me.lblRunning.AutoSize = True
Me.lblRunning.Location = New System.Drawing.Point(249, 38) Me.lblRunning.Location = New System.Drawing.Point(221, 30)
Me.lblRunning.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.lblRunning.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.lblRunning.MinimumSize = New System.Drawing.Size(112, 0) Me.lblRunning.MinimumSize = New System.Drawing.Size(100, 0)
Me.lblRunning.Name = "lblRunning" Me.lblRunning.Name = "lblRunning"
Me.lblRunning.Size = New System.Drawing.Size(112, 20) Me.lblRunning.Size = New System.Drawing.Size(100, 16)
Me.lblRunning.TabIndex = 15 Me.lblRunning.TabIndex = 15
Me.lblRunning.Text = "running: -" Me.lblRunning.Text = "running: -"
Me.lblRunning.TextAlign = System.Drawing.ContentAlignment.MiddleCenter Me.lblRunning.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
@@ -228,10 +226,10 @@ Partial Class ProcMan
' '
Me.LISTThreadStatus.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.chThread, Me.chTime, Me.chOther}) Me.LISTThreadStatus.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.chThread, Me.chTime, Me.chOther})
Me.LISTThreadStatus.HideSelection = False Me.LISTThreadStatus.HideSelection = False
Me.LISTThreadStatus.Location = New System.Drawing.Point(19, 74) Me.LISTThreadStatus.Location = New System.Drawing.Point(17, 59)
Me.LISTThreadStatus.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.LISTThreadStatus.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.LISTThreadStatus.Name = "LISTThreadStatus" Me.LISTThreadStatus.Name = "LISTThreadStatus"
Me.LISTThreadStatus.Size = New System.Drawing.Size(602, 215) Me.LISTThreadStatus.Size = New System.Drawing.Size(536, 173)
Me.LISTThreadStatus.TabIndex = 16 Me.LISTThreadStatus.TabIndex = 16
Me.LISTThreadStatus.UseCompatibleStateImageBehavior = False Me.LISTThreadStatus.UseCompatibleStateImageBehavior = False
Me.LISTThreadStatus.View = System.Windows.Forms.View.Details Me.LISTThreadStatus.View = System.Windows.Forms.View.Details
@@ -261,11 +259,11 @@ Partial Class ProcMan
Me.GroupBox1.Controls.Add(Me.StopProcess) Me.GroupBox1.Controls.Add(Me.StopProcess)
Me.GroupBox1.Controls.Add(Me.Label1) Me.GroupBox1.Controls.Add(Me.Label1)
Me.GroupBox1.Controls.Add(Me.StartProcess) Me.GroupBox1.Controls.Add(Me.StartProcess)
Me.GroupBox1.Location = New System.Drawing.Point(177, 99) Me.GroupBox1.Location = New System.Drawing.Point(157, 79)
Me.GroupBox1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.GroupBox1.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Padding = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.GroupBox1.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox1.Size = New System.Drawing.Size(633, 548) Me.GroupBox1.Size = New System.Drawing.Size(563, 438)
Me.GroupBox1.TabIndex = 17 Me.GroupBox1.TabIndex = 17
Me.GroupBox1.TabStop = False Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Threads" Me.GroupBox1.Text = "Threads"
@@ -274,10 +272,10 @@ Partial Class ProcMan
' '
Me.ThreadCurrentStatusList.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader4, Me.ColumnHeader3}) Me.ThreadCurrentStatusList.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader4, Me.ColumnHeader3})
Me.ThreadCurrentStatusList.HideSelection = False Me.ThreadCurrentStatusList.HideSelection = False
Me.ThreadCurrentStatusList.Location = New System.Drawing.Point(19, 321) Me.ThreadCurrentStatusList.Location = New System.Drawing.Point(17, 257)
Me.ThreadCurrentStatusList.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.ThreadCurrentStatusList.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.ThreadCurrentStatusList.Name = "ThreadCurrentStatusList" Me.ThreadCurrentStatusList.Name = "ThreadCurrentStatusList"
Me.ThreadCurrentStatusList.Size = New System.Drawing.Size(602, 215) Me.ThreadCurrentStatusList.Size = New System.Drawing.Size(536, 173)
Me.ThreadCurrentStatusList.TabIndex = 18 Me.ThreadCurrentStatusList.TabIndex = 18
Me.ThreadCurrentStatusList.UseCompatibleStateImageBehavior = False Me.ThreadCurrentStatusList.UseCompatibleStateImageBehavior = False
Me.ThreadCurrentStatusList.View = System.Windows.Forms.View.Details Me.ThreadCurrentStatusList.View = System.Windows.Forms.View.Details
@@ -292,37 +290,25 @@ Partial Class ProcMan
Me.ColumnHeader2.Text = "Thread Status" Me.ColumnHeader2.Text = "Thread Status"
Me.ColumnHeader2.Width = 100 Me.ColumnHeader2.Width = 100
' '
'ColumnHeader4
'
Me.ColumnHeader4.DisplayIndex = 3
Me.ColumnHeader4.Text = "Thread Phase"
Me.ColumnHeader4.Width = 100
'
'ColumnHeader3
'
Me.ColumnHeader3.DisplayIndex = 2
Me.ColumnHeader3.Text = "Process Status"
Me.ColumnHeader3.Width = 100
'
'chkStatAggr 'chkStatAggr
' '
Me.chkStatAggr.AutoSize = True Me.chkStatAggr.AutoSize = True
Me.chkStatAggr.Checked = True Me.chkStatAggr.Checked = True
Me.chkStatAggr.CheckState = System.Windows.Forms.CheckState.Checked Me.chkStatAggr.CheckState = System.Windows.Forms.CheckState.Checked
Me.chkStatAggr.Location = New System.Drawing.Point(489, 32) Me.chkStatAggr.Location = New System.Drawing.Point(435, 26)
Me.chkStatAggr.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.chkStatAggr.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.chkStatAggr.Name = "chkStatAggr" Me.chkStatAggr.Name = "chkStatAggr"
Me.chkStatAggr.Size = New System.Drawing.Size(111, 24) Me.chkStatAggr.Size = New System.Drawing.Size(91, 20)
Me.chkStatAggr.TabIndex = 17 Me.chkStatAggr.TabIndex = 17
Me.chkStatAggr.Text = "Aggr Stats" Me.chkStatAggr.Text = "Aggr Stats"
Me.chkStatAggr.UseVisualStyleBackColor = True Me.chkStatAggr.UseVisualStyleBackColor = True
' '
'btnExportStats 'btnExportStats
' '
Me.btnExportStats.Location = New System.Drawing.Point(688, 20) Me.btnExportStats.Location = New System.Drawing.Point(612, 16)
Me.btnExportStats.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.btnExportStats.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.btnExportStats.Name = "btnExportStats" Me.btnExportStats.Name = "btnExportStats"
Me.btnExportStats.Size = New System.Drawing.Size(112, 35) Me.btnExportStats.Size = New System.Drawing.Size(100, 28)
Me.btnExportStats.TabIndex = 18 Me.btnExportStats.TabIndex = 18
Me.btnExportStats.Text = "Export Stats" Me.btnExportStats.Text = "Export Stats"
Me.btnExportStats.UseVisualStyleBackColor = True Me.btnExportStats.UseVisualStyleBackColor = True
@@ -330,10 +316,10 @@ Partial Class ProcMan
'chkAutoRestart 'chkAutoRestart
' '
Me.chkAutoRestart.AutoSize = True Me.chkAutoRestart.AutoSize = True
Me.chkAutoRestart.Location = New System.Drawing.Point(523, 26) Me.chkAutoRestart.Location = New System.Drawing.Point(465, 21)
Me.chkAutoRestart.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.chkAutoRestart.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.chkAutoRestart.Name = "chkAutoRestart" Me.chkAutoRestart.Name = "chkAutoRestart"
Me.chkAutoRestart.Size = New System.Drawing.Size(122, 24) Me.chkAutoRestart.Size = New System.Drawing.Size(99, 20)
Me.chkAutoRestart.TabIndex = 19 Me.chkAutoRestart.TabIndex = 19
Me.chkAutoRestart.Text = "AutoRestart" Me.chkAutoRestart.Text = "AutoRestart"
Me.chkAutoRestart.UseVisualStyleBackColor = True Me.chkAutoRestart.UseVisualStyleBackColor = True
@@ -342,26 +328,23 @@ Partial Class ProcMan
' '
Me.TimerCheck.Interval = 30000 Me.TimerCheck.Interval = 30000
' '
'Button1 'ColumnHeader3
' '
Me.Button1.Location = New System.Drawing.Point(688, 65) Me.ColumnHeader3.DisplayIndex = 2
Me.Button1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.ColumnHeader3.Text = "Process Status"
Me.Button1.Name = "Button1" Me.ColumnHeader3.Width = 100
Me.Button1.Size = New System.Drawing.Size(112, 35)
Me.Button1.TabIndex = 20
Me.Button1.Text = "Kill All Procs"
Me.Button1.UseVisualStyleBackColor = True
' '
'TimerResetProcessing 'ColumnHeader4
' '
Me.TimerResetProcessing.Interval = 3000 Me.ColumnHeader4.DisplayIndex = 3
Me.ColumnHeader4.Text = "Thread Phase"
Me.ColumnHeader4.Width = 100
' '
'ProcMan 'ProcMan
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(9.0!, 20.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(828, 685) Me.ClientSize = New System.Drawing.Size(736, 548)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.chkAutoRestart) Me.Controls.Add(Me.chkAutoRestart)
Me.Controls.Add(Me.btnExportStats) Me.Controls.Add(Me.btnExportStats)
Me.Controls.Add(Me.GroupBox1) Me.Controls.Add(Me.GroupBox1)
@@ -375,7 +358,7 @@ Partial Class ProcMan
Me.Controls.Add(Me.lblpingTest) Me.Controls.Add(Me.lblpingTest)
Me.Controls.Add(Me.btnTestPing) Me.Controls.Add(Me.btnTestPing)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5) Me.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Name = "ProcMan" Me.Name = "ProcMan"
Me.Text = "MainForm" Me.Text = "MainForm"
Me.StatusStrip1.ResumeLayout(False) Me.StatusStrip1.ResumeLayout(False)
@@ -418,6 +401,4 @@ Partial Class ProcMan
Friend WithEvents ColumnHeader2 As ColumnHeader Friend WithEvents ColumnHeader2 As ColumnHeader
Friend WithEvents ColumnHeader3 As ColumnHeader Friend WithEvents ColumnHeader3 As ColumnHeader
Friend WithEvents ColumnHeader4 As ColumnHeader Friend WithEvents ColumnHeader4 As ColumnHeader
Friend WithEvents Button1 As Button
Friend WithEvents TimerResetProcessing As Timer
End Class End Class
-3
View File
@@ -129,9 +129,6 @@
<metadata name="TimerCheck.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="TimerCheck.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>354, 17</value> <value>354, 17</value>
</metadata> </metadata>
<metadata name="TimerResetProcessing.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>511, 22</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
File diff suppressed because it is too large Load Diff
@@ -50,32 +50,7 @@
<PropertyGroup> <PropertyGroup>
<ApplicationIcon>Resources\Temp.ico</ApplicationIcon> <ApplicationIcon>Resources\Temp.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\x64\Debug\</OutputPath>
<DocumentationFile>WebDoorCreator.CamSrv.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<DefineTrace>true</DefineTrace>
<OutputPath>bin\x64\Release\</OutputPath>
<DocumentationFile>WebDoorCreator.CamSrv.xml</DocumentationFile>
<Optimize>true</Optimize>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="EgtUILib, Version=2.5.5.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\ExtLib\EgtUILib.dll</HintPath>
</Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\DemoServer\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath> <HintPath>..\DemoServer\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
@@ -121,7 +96,6 @@
<Import Include="System.Threading.Tasks" /> <Import Include="System.Threading.Tasks" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="ConstIni.vb" />
<Compile Include="ProcMan.vb"> <Compile Include="ProcMan.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
-20
View File
@@ -24,14 +24,8 @@ namespace WebDoorCreator.Core
public static readonly string CALC_REQ_ERRS = $"{BASE_HASH}:CalcRequests:Errors"; public static readonly string CALC_REQ_ERRS = $"{BASE_HASH}:CalcRequests:Errors";
public static readonly string CALC_REQ_PEND = $"{BASE_HASH}:CalcRequests:Pending"; public static readonly string CALC_REQ_PEND = $"{BASE_HASH}:CalcRequests:Pending";
public static readonly string CALC_REQ_PROC = $"{BASE_HASH}:CalcRequests:Processing"; public static readonly string CALC_REQ_PROC = $"{BASE_HASH}:CalcRequests:Processing";
public static readonly string CALC_REQ_TYPE = $"{BASE_HASH}:CalcRequests:Type";
public static readonly string CALC_REQ_DDF_CACHE = $"{BASE_HASH}:CalcRequests:CacheDDF"; public static readonly string CALC_REQ_DDF_CACHE = $"{BASE_HASH}:CalcRequests:CacheDDF";
public static readonly string CALC_REQ_SVG_CACHE = $"{BASE_HASH}:CalcRequests:CacheSVG"; public static readonly string CALC_REQ_SVG_CACHE = $"{BASE_HASH}:CalcRequests:CacheSVG";
public static readonly string CALC_REQ_VETO_REC = $"{BASE_HASH}:CalcRequests:VetoRecalc";
public static readonly string DOOR_TPL_LIST = $"{BASE_HASH}:Template:DoorList";
// REDIS KEY dati x registrazione statistiche esecuzione
public static readonly string STATS_DATA = $"{BASE_HASH}:CallStats";
// REDIS Channels messaggi x QueueMan (verso UI/srv) // REDIS Channels messaggi x QueueMan (verso UI/srv)
public static readonly string CALC_REQ_QUEUE = $"CalcRequest"; public static readonly string CALC_REQ_QUEUE = $"CalcRequest";
@@ -42,32 +36,18 @@ namespace WebDoorCreator.Core
// classi utilità x cache REDIS dati DB // classi utilità x cache REDIS dati DB
public const string redisBaseAddr = "WDC"; public const string redisBaseAddr = "WDC";
public const string rKeyConfig = $"{redisBaseAddr}:Cache:Config";
public const string rKeyCompany = $"{redisBaseAddr}:Cache:Company"; public const string rKeyCompany = $"{redisBaseAddr}:Cache:Company";
public const string rKeyDoor = $"{redisBaseAddr}:Cache:Door"; public const string rKeyDoor = $"{redisBaseAddr}:Cache:Door";
public const string rKeyDoorOp = $"{redisBaseAddr}:Cache:DoorOp"; public const string rKeyDoorOp = $"{redisBaseAddr}:Cache:DoorOp";
public const string rKeyDoorOpType = $"{redisBaseAddr}:Cache:DoorOpType"; public const string rKeyDoorOpType = $"{redisBaseAddr}:Cache:DoorOpType";
public const string rKeyGraphicParameters = $"{redisBaseAddr}:Cache:GraphicParameters"; public const string rKeyGraphicParameters = $"{redisBaseAddr}:Cache:GraphicParameters";
public const string rKeyListValues = $"{redisBaseAddr}:Cache:ListValues"; public const string rKeyListValues = $"{redisBaseAddr}:Cache:ListValues";
public const string rKeyDoorLast = $"{redisBaseAddr}:Cache:DoorList";
public const string rKeyDoorsByOrder = $"{redisBaseAddr}:Cache:DoorsByOrder";
public const string rKeyOrderByComp = $"{redisBaseAddr}:Cache:OrderByComp";
public const string rKeyOrderDetail = $"{redisBaseAddr}:Cache:OrderDetail"; public const string rKeyOrderDetail = $"{redisBaseAddr}:Cache:OrderDetail";
public const string rKeyOrderStatus = $"{redisBaseAddr}:Cache:OrderStatus"; public const string rKeyOrderStatus = $"{redisBaseAddr}:Cache:OrderStatus";
public const string rKeyRoles = $"{redisBaseAddr}:Cache:Roles"; public const string rKeyRoles = $"{redisBaseAddr}:Cache:Roles";
public const string rKeyUsers = $"{redisBaseAddr}:Cache:Users"; public const string rKeyUsers = $"{redisBaseAddr}:Cache:Users";
public const string rKeyUsersAll = $"{redisBaseAddr}:Cache:UsersAll";
public const string rKeyUsersData = $"{redisBaseAddr}:Cache:UsersData";
public const string rKeyUsersDataSearch = $"{rKeyUsersData}:Search";
public const string rKeyUsersView = $"{redisBaseAddr}:Cache:UsersView"; public const string rKeyUsersView = $"{redisBaseAddr}:Cache:UsersView";
public const string rKeyVocLemma = $"{redisBaseAddr}:Cache:VocLemma"; public const string rKeyVocLemma = $"{redisBaseAddr}:Cache:VocLemma";
public const string rKeyVocLemmaTEMP = $"{redisBaseAddr}:Cache:VocLemmaTEMP";
public const string rKeyLanguage = $"{redisBaseAddr}:Cache:Languages"; public const string rKeyLanguage = $"{redisBaseAddr}:Cache:Languages";
public const string rKeyDirsScan = $"{redisBaseAddr}:Cache:Scan";
/// <summary>
/// variabili accessorie ulteriori
/// </summary>
public const int StatusIdTemplate = 10000;
} }
} }
+1 -9
View File
@@ -4,7 +4,7 @@
{ {
#region Public Enums #region Public Enums
public enum UserLevel public enum UserLevel
{ {
@@ -32,14 +32,6 @@
CodeDescending CodeDescending
} }
public enum fileStatus
{
none = 0,
add,
mod,
rem
}
#endregion Public Enums #endregion Public Enums
} }
} }
-50
View File
@@ -1,50 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Core
{
public class ExecStats
{
/// <summary>
/// Numero chiamate registrate
/// </summary>
public int NumCall { get; set; } = 0;
/// <summary>
/// Durata totale chiamate
/// </summary>
public TimeSpan TotalTime { get; set; } = new TimeSpan(0, 0, 0);
/// <summary>
/// Tempo medio (calcolato)
/// </summary>
[NotMapped]
public TimeSpan AvgTime
{
get
{
TimeSpan answ = TotalTime;
if (NumCall > 1)
{
answ = TotalTime / NumCall;
}
return answ;
}
}
/// <summary>
/// Init classe
/// </summary>
/// <param name="numCall"></param>
/// <param name="duration"></param>
public ExecStats(int numCall, TimeSpan duration)
{
this.NumCall = numCall;
this.TotalTime = duration;
}
}
}
-102
View File
@@ -1,102 +0,0 @@
using Microsoft.Reporting.NETCore;
using Microsoft.ReportingServices.ReportProcessing.ReportObjectModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Reflection;
namespace WebDoorCreator.Core.ReportViewer
{
/// <summary>
/// Gestione report dotNet core
///
/// https://github.com/lkosson/reportviewercore/
/// </summary>
public class Report
{
/// <summary>
/// Effettua setup del Report corrente
/// </summary>
/// <param name="ReportObj">Oggetto LocalReport da impiegare</param>
/// <param name="FileNameRdlc">Nome del Report (file rdlc) da usare</param>
/// <param name="RepParams">Parametri opzionali report</param>
/// <param name="ReportDatasets">Dizionario dei dataset del report (DsName + DataTable relativa)</param>
public static void Load(LocalReport ReportObj, string FileNameRdlc, List<ReportParameter> RepParams, Dictionary<string, DataTable> ReportDatasets)
{
// setup preliminari
ReportObj.EnableExternalImages = true;
// calcolo path complessivo
string reportPath = Path.Combine(AppContext.BaseDirectory, "Reports", FileNameRdlc);
/*------------------------------------------------------------------------------------------
* NB: SE volessi includere i ReportObj come EMBEDDED potrei usare una versione alternativa,
* ad esempio (x ReportObj inclusi in area WebDoorCreator.Core\ReportViewer\Report.rdlc
*
* using var rs = Assembly.GetExecutingAssembly().GetManifestResourceStream("WebDoorCreator.Core.ReportViewer.Report.rdlc");
* ReportObj.LoadReportDefinition(rs);
*
* oppure con filestream
* using (FileStream fs = File.OpenRead(reportPath))
* {
* ReportObj.LoadReportDefinition(fs);
* ....
* }
*
* ------------------------------------------------------------------------------------------*/
ReportObj.ReportPath = reportPath;
foreach (var item in ReportDatasets)
{
ReportObj.DataSources.Add(new ReportDataSource(item.Key, item.Value));
}
ReportObj.SetParameters(RepParams);
}
/// <summary>
/// Parametri associati al report
/// </summary>
public class RenderParams
{
public string FileName { get; set; } = "";
public string Extension { get; set; } = "";
public string MimeType { get; set; } = "";
public string RenderFormat { get; set; } = "";
/// <summary>
/// Crea setup parametri report dato formato desiderato
/// </summary>
/// <param name="OutFormat"></param>
public RenderParams(string OutFormat)
{
this.FileName = $"{DateTime.Now:yyyyMMdd_HHmmss}";
switch (OutFormat.ToUpper())
{
case "HTML":
this.Extension = "html";
this.RenderFormat = "HTML5";
this.MimeType = "text/html";
break;
case "DOCX":
this.Extension = "docx";
this.RenderFormat = "WORDOPENXML";
this.MimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
break;
case "XLSX":
this.Extension = "xlsx";
this.RenderFormat = "EXCELOPENXML";
this.MimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
break;
case "PDF":
default:
this.Extension = "pdf";
this.RenderFormat = "PDF";
this.MimeType = "application/pdf";
break;
}
}
}
}
}
@@ -1,447 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="LocalSource">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>bd60bef3-b3d9-477e-9052-ab58c6f1ec86</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="Items">
<Query>
<DataSourceName>LocalSource</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="Description">
<DataField>Description</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Price">
<DataField>Price</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="Qty">
<DataField>Qty</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="Total">
<DataField>Total</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>LocalSource</rd:DataSetName>
<rd:TableName>Items</rd:TableName>
<rd:ObjectDataSourceType>ReportViewerCore.ReportItem</rd:ObjectDataSourceType>
</rd:DataSetInfo>
</DataSet>
</DataSets>
<ReportSections>
<ReportSection>
<Body>
<ReportItems>
<Tablix Name="Tablix1">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>8.31785cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.67938cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Description</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Price</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Qty</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Total</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.67938cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Description">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Description.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Description</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Price">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Price.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Price</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Qty">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Qty.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Qty</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Total">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Total.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Total</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember>
<TablixMember>
<Group Name="Details" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>Items</DataSetName>
<Top>2.85433cm</Top>
<Left>0.3175cm</Left>
<Height>1.35875cm</Height>
<Width>15.875cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
<Textbox Name="Textbox6">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!Title.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontSize>26pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox6</rd:DefaultName>
<Top>0.26141cm</Top>
<Left>0.3175cm</Left>
<Height>1.79062cm</Height>
<Width>15.875cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>2in</Height>
<Style />
</Body>
<Width>6.5in</Width>
<Page>
<PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth>
<LeftMargin>2cm</LeftMargin>
<RightMargin>2cm</RightMargin>
<TopMargin>2cm</TopMargin>
<BottomMargin>2cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
</ReportSection>
</ReportSections>
<ReportParameters>
<ReportParameter Name="Title">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<ReportParametersLayout>
<GridLayoutDefinition>
<NumberOfColumns>4</NumberOfColumns>
<NumberOfRows>2</NumberOfRows>
<CellDefinitions>
<CellDefinition>
<ColumnIndex>0</ColumnIndex>
<RowIndex>0</RowIndex>
<ParameterName>Title</ParameterName>
</CellDefinition>
</CellDefinitions>
</GridLayoutDefinition>
</ReportParametersLayout>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>156b21d2-9542-4902-99ef-7ec823774bb2</rd:ReportID>
</Report>
@@ -1,14 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WebDoorCreator.Core.ReportViewer
{
public class ReportItem
{
public string Description { get; set; } = "";
public decimal Price { get; set; } = 0;
public int Qty { get; set; } = 0;
public decimal Total => Price * Qty;
}
}
+3 -18
View File
@@ -7,25 +7,10 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Remove="ReportViewer\ReportExtUtils.cs" /> <PackageReference Include="EntityFrameworkCore.SqlServer.HierarchyId" Version="3.0.1" />
</ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.14" />
<PackageReference Include="NLog" Version="5.1.2" />
<ItemGroup>
<None Remove="ReportViewer\Report.rdlc" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.27" />
<PackageReference Include="NLog" Version="5.2.2" />
<PackageReference Include="ReportViewerCore.NETCore" Version="15.1.17" />
<PackageReference Include="ToDataTable" Version="0.1.2" />
<PackageReference Include="YamlDotNet" Version="13.1.0" /> <PackageReference Include="YamlDotNet" Version="13.1.0" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<EmbeddedResource Include="ReportViewer\Report.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
</ItemGroup>
</Project> </Project>
+2 -8
View File
@@ -3,7 +3,6 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using NLog; using NLog;
using NLog.Fluent; using NLog.Fluent;
using YamlDotNet.Serialization;
namespace WebDoorCreator.Data namespace WebDoorCreator.Data
{ {
@@ -14,16 +13,13 @@ namespace WebDoorCreator.Data
private IConfiguration _configuration { get; set; } = null!; private IConfiguration _configuration { get; set; } = null!;
public ApplicationDbContext() public ApplicationDbContext()
{ {
Log.Info($"ApplicationDbContext Init");
try try
{ {
// se non ci fosse... crea o migra! // se non ci fosse... crea o migra!
Database.Migrate(); Database.Migrate();
} }
catch (Exception exc) catch (Exception exc)
{ { }
Log.Error($"Exc during ApplicationDbContext() init:{Environment.NewLine}{exc}");
}
} }
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options, IConfiguration configuration) : base(options) public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options, IConfiguration configuration) : base(options)
{ {
@@ -38,9 +34,7 @@ namespace WebDoorCreator.Data
Database.Migrate(); Database.Migrate();
} }
catch (Exception exc) catch (Exception exc)
{ { }
Log.Error($"Exc during ApplicationDbContext(DbContextOptions<ApplicationDbContext> options, IConfiguration configuration) init:{Environment.NewLine}{exc}");
}
} }
} }
protected override void OnModelCreating(ModelBuilder builder) protected override void OnModelCreating(ModelBuilder builder)
@@ -1,37 +0,0 @@
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System.Reflection.Emit;
using WebDoorCreator.Data.DbModels;
namespace WebDoorCreator.Data
{
public class ConfigConfiguration : IEntityTypeConfiguration<ConfigModel>
{
#region Public Methods
public void Configure(EntityTypeBuilder<ConfigModel> builder)
{
// aggiungo config URL x generazione immagini report
builder.HasData(
seedConfig("prt_ImageCodeBaseUrl", "https://iis01.egalware.com/WDC/SRV/api/", "https://seriate.egalware.com/WDC/SRV/api/", "URL di base per recupero immagini png"),
seedConfig("prt_ReportServerUrl", "http://w2019-sql-steam/reportserver?/Test/WebDoor/", "http://w2019-sql-steam/reportserver?/Test/WebDoor/", "URL di base del Report Server")
);
}
#endregion Public Methods
protected ConfigModel seedConfig(string chiave, string valore, string valoreStd, string note)
{
var newRec = new ConfigModel()
{
chiave = chiave,
valore = valore,
valoreStd = valoreStd,
note = note
};
return newRec;
}
}
}
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -37,7 +37,7 @@ namespace WebDoorCreator.Data.DDF
{ {
string outDdf = ""; string outDdf = "";
try try
{ {
DoorOpsDTO CurrentDoorOp = new DoorOpsDTO(); DoorOpsDTO CurrentDoorOp = new DoorOpsDTO();
EdgesDto CurrentEdges = new EdgesDto(); EdgesDto CurrentEdges = new EdgesDto();
SizeDto CurrentSize = new SizeDto(); SizeDto CurrentSize = new SizeDto();
@@ -46,13 +46,10 @@ namespace WebDoorCreator.Data.DDF
FinishingDto CurrentFinishing = new FinishingDto(); FinishingDto CurrentFinishing = new FinishingDto();
DDFDto CurrentConf = new DDFDto(); DDFDto CurrentConf = new DDFDto();
ListValuesModel CurrentCompoOrder = new ListValuesModel(); ListValuesModel CurrentCompoOrder = new ListValuesModel();
Dictionary<string, List<Dictionary<string, string>>> dictDoorOP = new Dictionary<string, List<Dictionary<string, string>>>();
Dictionary<string, Dictionary<string, string>> dictBaseDoorOp = new Dictionary<string, Dictionary<string, string>>();
Dictionary<string, Dictionary<string, string>> dictBaseSwing = new Dictionary<string, Dictionary<string, string>>();
// per prima cosa popolo gli oggetti di appoggio... // per prima cosa popolo gli oggetti di appoggio...
dictDoorOP = new Dictionary<string, List<Dictionary<string, string>>>(); dictDoorOP = new Dictionary<string, List<Dictionary<string, string>>>();
var i = 0; var i = 0;
foreach (var item in listOp.Where(x => x.ObjectId != "Size" && x.ObjectId != "Profiles" && x.ObjectId != "Swing" && x.ObjectId != "Properties" && x.ObjectId != "Finishing")) foreach (var item in listOp.Where(x=>x.ObjectId != "Size" && x.ObjectId != "Profiles" && x.ObjectId != "Swing" && x.ObjectId != "Properties" && x.ObjectId != "Finishing"))
{ {
var deserialized = JsonConvert.DeserializeObject<Dictionary<string, string>>(item.JsoncActVal!); var deserialized = JsonConvert.DeserializeObject<Dictionary<string, string>>(item.JsoncActVal!);
if (deserialized != null) if (deserialized != null)
@@ -125,7 +122,7 @@ namespace WebDoorCreator.Data.DDF
} }
i++; i++;
} }
CurrentSize.size = dictBaseDoorOp; CurrentSize.size = dictBaseDoorOp;
string sizeSer = CurrentSize.GetSerialized(RemDoorOp); string sizeSer = CurrentSize.GetSerialized(RemDoorOp);
//dictBaseDoorOp.Clear(); //dictBaseDoorOp.Clear();
foreach (var item in listOp.Where(x => x.ObjectId == "Swing")) foreach (var item in listOp.Where(x => x.ObjectId == "Swing"))
@@ -151,6 +148,9 @@ namespace WebDoorCreator.Data.DDF
#region Protected Properties #region Protected Properties
protected Dictionary<string, List<Dictionary<string, string>>> dictDoorOP { get; set; } = new Dictionary<string, List<Dictionary<string, string>>>();
protected Dictionary<string, Dictionary<string, string>> dictBaseDoorOp { get; set; } = new Dictionary<string, Dictionary<string, string>>();
protected Dictionary<string, Dictionary<string, string>> dictBaseSwing { get; set; } = new Dictionary<string, Dictionary<string, string>>();
protected List<string> FootRows { get; set; } = new List<string>(); protected List<string> FootRows { get; set; } = new List<string>();
protected string FormatVers { get; set; } = "0"; protected string FormatVers { get; set; } = "0";
protected List<string> HeadRows { get; set; } = new List<string>(); protected List<string> HeadRows { get; set; } = new List<string>();
-23
View File
@@ -1,23 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// Oggetto contenitore richiesta calcolo
/// </summary>
public class CalcReqtDTO
{
/// <summary>
/// DDF file content (origin)
/// </summary>
public string DDF { get; set; } = "";
/// <summary>
/// MimeType (out) requested: svg / 3dm...
/// </summary>
public string MimeType { get; set; } = "";
}
}
+3 -7
View File
@@ -24,15 +24,11 @@ namespace WebDoorCreator.Data.DTO
/// </summary> /// </summary>
public string ErrorMsg { get; set; } = ""; public string ErrorMsg { get; set; } = "";
/// <summary> /// <summary>
/// Object RAW generated output ( was SvgGen ) /// SVG generated
/// </summary> /// </summary>
public string RawContent { get; set; } = ""; public string SvgGen { get; set; } = "";
/// <summary> /// <summary>
/// MimeType: svg / 3dm... /// Articat path (ex 3d zip/pack)
/// </summary>
public string MimeType { get; set; } = "";
/// <summary>
/// Artifats path (ex 3d zip/pack)
/// </summary> /// </summary>
public string artifactPath { get; set; } = ""; public string artifactPath { get; set; } = "";
} }
-21
View File
@@ -1,21 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
public class CostingDTO
{
/// <summary>
/// Order's UID
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// Dictionary of evaluated unit cost for each Door in Order
/// </summary>
public Dictionary<int, double> DoorUnitCost { get; set; } = new Dictionary<int, double>();
}
}
-59
View File
@@ -1,59 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// COmpany data DTO
/// </summary>
[Serializable]
public class CustomerDTO
{
public int CompanyId { get; set; }
/// <summary>
/// Codice esterno x riferimento (es ERP)
/// </summary>
[MaxLength(250)]
public string CompanyExtCode { get; set; } = "";
/// <summary>
/// Nome / ragione Sociale
/// </summary>
[MaxLength(500)]
public string CompanyName { get; set; } = "";
/// <summary>
/// indirizzo
/// </summary>
[MaxLength(250)]
public string Address { get; set; } = "";
/// <summary>
/// CAP
/// </summary>
public int ZipCode { get; set; } = 0;
/// <summary>
/// Citta
/// </summary>
[MaxLength(50)]
public string City { get; set; } = "";
/// <summary>
/// Stato
/// </summary>
[MaxLength(50)]
public string State { get; set; } = "";
/// <summary>
/// VAT / P.Iva
/// </summary>
[MaxLength(50)]
public string VAT { get; set; } = "";
}
}
-22
View File
@@ -1,22 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// Serialized door data for cost evaluation
/// </summary>
[Serializable]
public class DoorCostingDTO
{
public int DoorId { get; set; } = 0;
public int Quantity { get; set; } = 1;
public double EstimatedWorkTime { get; set; } = 0;
public Dictionary<string, List<string>> BOMList { get; set; }= new Dictionary<string, List<string>>();
}
}
-35
View File
@@ -1,35 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// Door cost data DTO
/// </summary>
public class DoorPriceDTO
{
/// <summary>
/// Door UID
/// </summary>
public int OrderId { get; set; } = 0;
/// <summary>
/// Door UID
/// </summary>
public int DoorId { get; set; } = 0;
/// <summary>
/// Articat path (ex 3d zip/pack)
/// </summary>
public decimal UnitCost { get; set; } = 0;
/// <summary>
/// Valid = true / cannot deliver = false
/// </summary>
public bool Valid { get; set; } = true;
/// <summary>
/// Error message (optional)
/// </summary>
public string ErrorMsg { get; set; } = "";
}
}
+1
View File
@@ -35,6 +35,7 @@ namespace WebDoorCreator.Data.DTO
} }
if (item.Contains("Separator")) if (item.Contains("Separator"))
{ {
//sb.Remove(item);
sb.AppendLine(" "); sb.AppendLine(" ");
} }
} }
-28
View File
@@ -1,28 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static WebDoorCreator.Core.Enum;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// File data DTO
/// </summary>
[Serializable]
public class FileDTO
{
//public string HwCode { get; set; } = "";
public string FileBaseDir { get; set; } = "";
//public string FileAbsPath { get; set; } = "";
public string FileRelPath { get; set; } = "";
public string FileMD5 { get; set; } = "";
public long FileDim { get; set; } = 0;
public DateTime lastModTime { get; set; } = DateTime.Now;
public fileStatus status { get; set; } = fileStatus.none;
public bool action { get; set; } = false;
}
}
@@ -1,40 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// Serialized order data
/// </summary>
[Serializable]
public class OrderDetailsDTO
{
/// <summary>
/// Order UID (DB)
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// Customer Info
/// </summary>
public CustomerDTO CustomerInfo { get; set; } = new CustomerDTO();
/// <summary>
/// Order reference / Ext code
/// </summary>
public string OrderExtCode { get; set; } = "";
/// <summary>
/// Order description
/// </summary>
public string OrderDescript { get; set; } = "";
/// <summary>
/// Door list for current order
/// </summary>
public List<DoorCostingDTO> DoorsList { get; set; } = new List<DoorCostingDTO>();
}
}
@@ -1,24 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DbModels
{
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
[Table("Config")]
public partial class ConfigModel
{
[Key]
public string chiave { get; set; } = null!;
public string valore { get; set; } = "";
public string valoreStd { get; set; } = "";
public string note { get; set; } = "";
}
}
+8 -48
View File
@@ -22,11 +22,6 @@ namespace WebDoorCreator.Data.DbModels
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DoorId { get; set; } public int DoorId { get; set; }
/// <summary>
/// Parent element ID
/// </summary>
public int ParentId { get; set; }
/// <summary> /// <summary>
/// Ordine cui è associata la porta /// Ordine cui è associata la porta
/// </summary> /// </summary>
@@ -37,6 +32,11 @@ namespace WebDoorCreator.Data.DbModels
/// </summary> /// </summary>
public string MeasureUnit { get; set; } = ""; public string MeasureUnit { get; set; } = "";
/// <summary>
/// Door's Type
/// </summary>
public int TypeId { get; set; } = 0;
/// <summary> /// <summary>
/// Codice esterno x riferimento (es ERP) /// Codice esterno x riferimento (es ERP)
/// </summary> /// </summary>
@@ -88,16 +88,11 @@ namespace WebDoorCreator.Data.DbModels
/// </summary> /// </summary>
public string UserIdLock { get; set; } = ""; public string UserIdLock { get; set; } = "";
/// <summary>
/// Valore booleano per indicare se è in stato cancellazione logica
/// </summary>
public bool isLogicDel { get; set; } = false;
[ForeignKey("OrderId")] [ForeignKey("OrderId")]
public virtual OrderModel? OrderNav { get; set; } public virtual OrderModel? OrderNav { get; set; }
//[ForeignKey("TypeId")] [ForeignKey("TypeId")]
// public virtual DoorTypeModel? TypeNav { get; set; } public virtual DoorTypeModel? TypeNav { get; set; }
public DoorModel ObjClone(string userId) public DoorModel ObjClone(string userId)
@@ -107,7 +102,7 @@ namespace WebDoorCreator.Data.DbModels
{ {
MeasureUnit = MeasureUnit, MeasureUnit = MeasureUnit,
OrderId = OrderId, OrderId = OrderId,
ParentId = ParentId, TypeId = TypeId,
DoorExtCode = DoorExtCode, DoorExtCode = DoorExtCode,
DateIns = adesso, DateIns = adesso,
UserIdIns = userId, UserIdIns = userId,
@@ -121,40 +116,5 @@ namespace WebDoorCreator.Data.DbModels
}; };
return answ; return answ;
} }
public override bool Equals(object? obj)
{
if (obj == null)
return false;
if (!(obj is DoorModel item))
return false;
if (Quantity != item.Quantity)
return false;
if (DoorExtCode != item.DoorExtCode)
return false;
if (DoorDescript != item.DoorDescript)
return false;
if (UnitCost != item.UnitCost)
return false;
//if (MeasureUnit != item.MeasureUnit)
// return false;
//if (UnitCost != item.UnitCost)
// return false;
return true;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
} }
} }
+9 -9
View File
@@ -131,11 +131,11 @@ namespace WebDoorCreator.Data.DbModels
} }
} }
/// <summary> /// <summary>
/// Comparazione tra il dizionario currVal corrente e quello ricevuto /// COmparazione tra il dizionario currVal corrente e quello ricevuto
/// </summary> /// </summary>
/// <param name="newDict">Dizionario x comparazione</param> /// <param name="newDict">Dizionario x comparazione</param>
/// <returns></returns> /// <returns></returns>
public bool JsonActValEquals(Dictionary<string, string> newDict) public bool JsoncActValEquals(Dictionary<string, string> newDict)
{ {
string JsonNewVal = JsonConvert.SerializeObject(newDict); string JsonNewVal = JsonConvert.SerializeObject(newDict);
bool answ = JsoncActVal.Equals(JsonNewVal); bool answ = JsoncActVal.Equals(JsonNewVal);
@@ -156,10 +156,9 @@ namespace WebDoorCreator.Data.DbModels
/// <summary> /// <summary>
/// Clone oggetto /// Clone oggetto
/// </summary> /// </summary>
/// <param name="userName"></param> /// <param name="userId"></param>
/// <param name="doorId"></param>
/// <returns></returns> /// <returns></returns>
public DoorOpModel ObjClone(string userName, int doorId) public DoorOpModel ObjClone(string userId, int doorId)
{ {
DoorOpModel answ = new DoorOpModel(); DoorOpModel answ = new DoorOpModel();
DateTime adesso = DateTime.Now; DateTime adesso = DateTime.Now;
@@ -169,8 +168,8 @@ namespace WebDoorCreator.Data.DbModels
{ {
DateIns = adesso, DateIns = adesso,
DateMod = adesso, DateMod = adesso,
UserIdIns = userName, UserIdIns = userId,
UserIdMod = userName, UserIdMod = userId,
ObjectId = ObjectId, ObjectId = ObjectId,
DoorId = DoorId, DoorId = DoorId,
JsoncConfigVal = JsoncConfigVal, JsoncConfigVal = JsoncConfigVal,
@@ -185,8 +184,8 @@ namespace WebDoorCreator.Data.DbModels
{ {
DateIns = adesso, DateIns = adesso,
DateMod = adesso, DateMod = adesso,
UserIdIns = userName, UserIdIns = userId,
UserIdMod = userName, UserIdMod = userId,
ObjectId = ObjectId, ObjectId = ObjectId,
DoorId = doorId, DoorId = doorId,
JsoncConfigVal = JsoncConfigVal, JsoncConfigVal = JsoncConfigVal,
@@ -198,5 +197,6 @@ namespace WebDoorCreator.Data.DbModels
return answ; return answ;
} }
} }
} }
+13 -31
View File
@@ -21,11 +21,6 @@ namespace WebDoorCreator.Data.DbModels
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DoorOpTypId { get; set; } public int DoorOpTypId { get; set; }
/// <summary>
/// Indica Id del parent: se 0 sono root, altrimenti indica il type parent
/// </summary>
public int ParentId { get; set; } = 0;
/// <summary> /// <summary>
/// Codice univoco dell'operazione da svolgere (calcolato, idealmente 4 char da 36 val 0..Z) /// Codice univoco dell'operazione da svolgere (calcolato, idealmente 4 char da 36 val 0..Z)
/// </summary> /// </summary>
@@ -73,14 +68,20 @@ namespace WebDoorCreator.Data.DbModels
public string FPath { get; set; } = ""; public string FPath { get; set; } = "";
/// <summary> /// <summary>
/// Unit cost for the door /// Idx univoco dell'elemento parent (se 0 = root)
/// </summary> /// </summary>
public decimal UnitCost { get; set; } = 0; public int ParentDoorOpId { get; set; } = 0;
///// <summary> /// <summary>
///// Oggetto Json per specifica configurazione (template) /// Idx univoco dell'elemento parent (se 0 = root)
///// </summary> /// </summary>
//public string JsoncConfig { get; set; } = ""; public HierarchyId? DoorOpIdPathFromPatriarch { get; set; }
/// <summary>
/// Oggetto Json per specifica configurazione (template)
/// </summary>
public string JsoncConfig { get; set; } = "";
/// <summary> /// <summary>
/// Codice esterno (opzionale) /// Codice esterno (opzionale)
@@ -107,21 +108,6 @@ namespace WebDoorCreator.Data.DbModels
/// </summary> /// </summary>
public DateTime ValidUntil { get; set; } = new DateTime(3000, 1, 1); public DateTime ValidUntil { get; set; } = new DateTime(3000, 1, 1);
/// <summary>
/// MD5 Calcolato per controllo uguaglianze
/// </summary>
public string FileMD5 { get; set; } = "";
/// <summary>
/// Dimensione file corrente
/// </summary>
public long FileDim { get; set; } = 0;
/// <summary>
/// Dimensione file corrente
/// </summary>
public DateTime LastMod { get; set; } = DateTime.Today;
/// <summary> /// <summary>
/// Check validità item /// Check validità item
/// </summary> /// </summary>
@@ -130,11 +116,7 @@ namespace WebDoorCreator.Data.DbModels
{ {
get => DateTime.Today >= ValidFrom && DateTime.Today <= ValidUntil; get => DateTime.Today >= ValidFrom && DateTime.Today <= ValidUntil;
} }
/// <summary>
/// Stato della door operation {-1=DELETED, 0=UNCHANGED, 1=ADDED, 2=MODIFIED}
/// </summary>
[NotMapped]
public int status { get; set; } = 0;
/// <summary> /// <summary>
/// Numero massimo associabile a singola Door /// Numero massimo associabile a singola Door
/// </summary> /// </summary>
@@ -1,144 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
namespace WebDoorCreator.Data.DbModels
{
/// <summary>
/// Tabella dati Door Operation Type (astratte) TEMP
/// </summary>
[Table("DoorOpTypeTemp")]
public class DoorOpTypeTempModel
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DoorOpTypId { get; set; }
/// <summary>
/// Codice univoco dell'operazione da svolgere (calcolato, idealmente 4 char da 36 val 0..Z)
/// </summary>
public string OpCode { get; set; } = "";
/// <summary>
/// Descrizione
/// </summary>
public string Description { get; set; } = "";
/// <summary>
/// Indica se sia da creare sempre
/// </summary>
public bool IsDefault { get; set; } = false;
/// <summary>
/// Indica se ci sia un hardware correlato all'operazione
/// </summary>
public bool HasHw { get; set; } = true;
/// <summary>
/// Indica se sia un oggetto concreto (= con un file, che si può produrre) o abstract (ha figli, è un gruppo logico)
/// </summary>
public bool IsConcrete { get; set; } = true;
/// <summary>
/// Codice dell'HW collegato
/// </summary>
public string HwCode { get; set; } = "";
/// <summary>
/// Descrizione dell'HW collegato
/// </summary>
public string HwDescription { get; set; } = "";
/// <summary>
/// URL dell'immagine/link di riferimento
/// </summary>
public string DisplayUrl { get; set; } = "";
/// <summary>
/// Path folder/file di riferimento
/// </summary>
public string FPath { get; set; } = "";
/// <summary>
/// Idx univoco dell'elemento parent (se 0 = root)
/// </summary>
public int ParentDoorOpId { get; set; } = 0;
///// <summary>
///// Idx univoco dell'elemento parent (se 0 = root)
///// </summary>
//public HierarchyId? DoorOpIdPathFromPatriarch { get; set; }
/// <summary>
/// Unit cost for the door
/// </summary>
public decimal UnitCost { get; set; } = 0;
///// <summary>
///// Oggetto Json per specifica configurazione (template)
///// </summary>
//public string JsoncConfig { get; set; } = "";
/// <summary>
/// Codice esterno (opzionale)
/// </summary>
public string ExtOpCode { get; set; } = "";
/// <summary>
/// Descrizione esterna (opzionale)
/// </summary>
public string ExtDescript { get; set; } = "";
/// <summary>
/// Revisione dell'item
/// </summary>
public string Rev { get; set; } = "";
/// <summary>
/// Inizio validità item
/// </summary>
public DateTime ValidFrom { get; set; } = new DateTime(2000, 1, 1);
/// <summary>
/// Fine validità item
/// </summary>
public DateTime ValidUntil { get; set; } = new DateTime(3000, 1, 1);
/// <summary>
/// MD5 Calcolato per controllo uguaglianze
/// </summary>
public string FileMD5 { get; set; } = "";
/// <summary>
/// Dimensione file corrente
/// </summary>
public long FileDim { get; set; } = 0;
/// <summary>
/// Data ultima modifica
/// </summary>
public DateTime LastMod { get; set; } = DateTime.Today;
/// <summary>
/// Check validità item
/// </summary>
[NotMapped]
public bool IsActive
{
get => DateTime.Today >= ValidFrom && DateTime.Today <= ValidUntil;
}
/// <summary>
/// Numero massimo associabile a singola Door
/// </summary>
public int MaxAllowed { get; set; } = 1;
}
}
@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
namespace WebDoorCreator.Data.DbModels
{
/// <summary>
/// Tabella dati Door Type
/// </summary>
[Table("DoorType")]
public class DoorTypeModel
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int TypeId { get; set; }
/// <summary>
/// Codice univoco del modello
/// </summary>
public string TypeCode { get; set; } = "";
/// <summary>
/// Descrizione
/// </summary>
public string Description { get; set; } = "";
}
}
@@ -1,23 +0,0 @@
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 WebDoorCreator.Data.DbModels
{
[Table("TestTable")]
public class IdentityTableSeedTest
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int IdUni { get; set; } = 0;
[MaxLength(50)]
public string Campo1 { get; set; } = "";
[MaxLength(500)]
public string Campo2 { get; set; } = "";
}
}
@@ -12,33 +12,18 @@ namespace WebDoorCreator.Data.DbModels
// <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("ListValues")] [Table("SerializedDoors")]
public partial class ListValuesModel public partial class SerializedDoorsModel
{ {
#region Public Properties #region Public Properties
[MaxLength(50)] [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public string TableName { get; set; } public int DoorTmpId { get; set; }
[MaxLength(50)]
public string FieldName { get; set; } public string DoorSerVal { get; set; }
[MaxLength(250)] public bool Lock { get; set; }
public string Value { get; set; }
[MaxLength(250)]
public string Label { get; set; }
public int Ordinal { get; set; }
[MaxLength(50)]
public string InputType{ get; set; }
[MaxLength(100)]
public string DefaultVal { get; set; }
[MaxLength(5)]
public bool isSerializable { get; set; }
#endregion Public Properties #endregion Public Properties
} }
@@ -23,10 +23,10 @@ namespace WebDoorCreator.Data.DbModels
[MaxLength(50)] [MaxLength(50)]
public string FieldName { get; set; } public string FieldName { get; set; }
[MaxLength(250)] [MaxLength(50)]
public string Value { get; set; } public string Value { get; set; }
[MaxLength(250)] [MaxLength(50)]
public string Label { get; set; } public string Label { get; set; }
public int Ordinal { get; set; } public int Ordinal { get; set; }
+1 -22
View File
@@ -51,26 +51,6 @@ namespace WebDoorCreator.Data.DbModels
/// </summary> /// </summary>
public string UserIdMod { get; set; } = ""; public string UserIdMod { get; set; } = "";
/// <summary>
/// Data promessa di consegna
/// </summary>
public DateTime DateDelivery { get; set; } = DateTime.Now.AddDays(60);
/// <summary>
/// Expected order delivery from DCA
/// </summary>
public DateTime DateProm { get; set; } = DateTime.Now.AddDays(60);
/// <summary>
/// Date Order confirmed by customer from Order table
/// </summary>
public DateTime DateOrd { get; set; }
/// <summary>
/// Eventuale sconto globale
/// </summary>
public double Discount { get; set; } = 0;
/// <summary> /// <summary>
/// Stato globale dell'ordine /// Stato globale dell'ordine
/// </summary> /// </summary>
@@ -81,10 +61,9 @@ namespace WebDoorCreator.Data.DbModels
/// </summary> /// </summary>
public string OrderDescript { get; set; } = ""; public string OrderDescript { get; set; } = "";
[ForeignKey("CompanyId")] [ForeignKey("CompanyId")]
public virtual CompanyModel? CompanyNav { get; set; } public virtual CompanyModel? CompanyNav { get; set; }
} }
} }
@@ -14,6 +14,7 @@ namespace WebDoorCreator.Data.DbModels
/// <summary> /// <summary>
/// View to retrieve data from multiple tables /// View to retrieve data from multiple tables
/// </summary> /// </summary>
//[Table("v_OrderStatus")]
public class OrderStatusViewModel public class OrderStatusViewModel
{ {
/// <summary> /// <summary>
@@ -69,25 +70,5 @@ namespace WebDoorCreator.Data.DbModels
/// TotCost represent the total cost of the order /// TotCost represent the total cost of the order
/// </summary> /// </summary>
public decimal TotCost { get; set; } = 0; public decimal TotCost { get; set; } = 0;
/// <summary>
/// Expected order delivery from DCA
/// </summary>
public DateTime DateProm { get; set; } = DateTime.Now.AddDays(60);
/// <summary>
/// Date Order confirmed by customer from Order table
/// </summary>
public DateTime DateOrd { get; set; }
/// <summary>
/// Effective order delivery date
/// </summary>
public DateTime DateDelivery { get; set; }
/// <summary>
/// Eventuale sconto globale
/// </summary>
public double Discount { get; set; } = 0;
} }
} }
@@ -1,146 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static WebDoorCreator.Core.Enum;
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
namespace WebDoorCreator.Data.DbModels
{
public class PrtRepOrderModel
{
public int OrderId { get; set; }
/// <summary>
/// Company cui è associato l'ordine
/// </summary>
public int CompanyId { get; set; }
/// <summary>
/// Codice esterno x riferimento (es ERP)
/// </summary>
public string OrderExtCode { get; set; } = "";
/// <summary>
/// Data inserimento ordine
/// </summary>
public DateTime DateIns { get; set; } = DateTime.Now;
/// <summary>
/// Codice utente che ha creato
/// </summary>
public string UserIdIns { get; set; } = "";
/// <summary>
/// Data (ultima) modifica ordine
/// </summary>
public DateTime DateMod { get; set; } = DateTime.Now;
/// <summary>
/// Codice utente che ha creato
/// </summary>
public string UserIdMod { get; set; } = "";
/// <summary>
/// Stato globale dell'ordine
/// </summary>
public int Status { get; set; } = 10;
/// <summary>
/// Descrizione
/// </summary>
public string OrderDescript { get; set; } = "";
/// <summary>
/// Codice esterno x riferimento (es ERP)
/// </summary>
public string CompanyExtCode { get; set; } = "";
/// <summary>
/// Nome / ragione Sociale
/// </summary>
public string CompanyName { get; set; } = "";
/// <summary>
/// indirizzo
/// </summary>
public string Address { get; set; } = "";
/// <summary>
/// CAP
/// </summary>
public int ZipCode { get; set; } = 0;
/// <summary>
/// Citta
/// </summary>
public string City { get; set; } = "";
/// <summary>
/// Stato
/// </summary>
public string State { get; set; } = "";
/// <summary>
/// VAT / P.Iva
/// </summary>
public string VAT { get; set; } = "";
/// <summary>
/// Current Door ID
/// </summary>
public int DoorId { get; set; }
/// <summary>
/// Door's parent ID
/// </summary>
public int ParentId { get; set; } = 0;
/// <summary>
/// Codice esterno x riferimento (es ERP)
/// </summary>
public string DoorExtCode { get; set; } = "";
/// <summary>
/// Descrizione
/// </summary>
public string DoorDescript { get; set; } = "";
/// <summary>
/// Quantity Ordered
/// </summary>
public int Quantity { get; set; } = 1;
/// <summary>
/// Unit cost for the door
/// </summary>
public decimal UnitCost { get; set; } = 0;
/// <summary>
/// Unità di misura
/// </summary>
public string MeasureUnit { get; set; } = "";
/// <summary>
/// Tipo DoorOP
/// </summary>
public string ObjectType { get; set; } = "";
/// <summary>
/// Chiave DoorOP
/// </summary>
public string ObjectKey { get; set; } = "";
/// <summary>
/// Valore DoorOp
/// </summary>
public string ObjectVal { get; set; } = "";
/// <summary>
/// Quantità DoorOp
/// </summary>
public int ObjectQty { get; set; } = 1;
}
}
@@ -12,17 +12,33 @@ namespace WebDoorCreator.Data.DbModels
// <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("SerializedDoors")] [Table("ListValues")]
public partial class SerializedDoorsModel public partial class ListValuesModel
{ {
#region Public Properties #region Public Properties
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] [MaxLength(50)]
public int DoorTmpId { get; set; } public string TableName { get; set; }
public string DoorSerVal { get; set; }
public bool Lock { get; set; } [MaxLength(50)]
public string FieldName { get; set; }
[MaxLength(50)]
public string Value { get; set; }
[MaxLength(50)]
public string Label { get; set; }
public int Ordinal { get; set; }
[MaxLength(50)]
public string InputType{ get; set; }
[MaxLength(100)]
public string DefaultVal { get; set; }
[MaxLength(5)]
public bool isSerializable { get; set; }
#endregion Public Properties #endregion Public Properties
} }
+1 -13
View File
@@ -34,22 +34,10 @@ namespace WebDoorCreator.Data.DbModels
/// RoleId from AspNetUserRoles table /// RoleId from AspNetUserRoles table
/// </summary> /// </summary>
public string RoleId { get; set; } = ""; public string RoleId { get; set; } = "";
/// <summary> /// <summary>
/// Name from AspNetRole table /// Name from AspNetRole table
/// </summary> /// </summary>
public string RoleName { get; set; } = ""; public string RoleName { get; set; } = "";
/// <summary>
/// ClaimId from AspNetUserRoles table
/// </summary>
public int ClaimId { get; set; } = 0;
/// <summary>
/// ClaimType from AspNetRole table
/// </summary>
public string ClaimType { get; set; } = "";
/// <summary>
/// ClaimValue from AspNetRole table
/// </summary>
public string ClaimValue { get; set; } = "";
} }
} }
@@ -35,9 +35,5 @@ namespace WebDoorCreator.Data.DbModels
/// </summary> /// </summary>
[MaxLength(500)] [MaxLength(500)]
public string Traduzione { get; set; } = ""; public string Traduzione { get; set; } = "";
/// <summary>
/// Indica se è da salvare su db o no
/// </summary>
public bool IsConfSave { get; set; } = false;
} }
} }
+9 -8
View File
@@ -10,7 +10,7 @@ namespace WebDoorCreator.Data
public MessagePipe(IConnectionMultiplexer redisConn, string channelName, bool enableLog = false) public MessagePipe(IConnectionMultiplexer redisConn, string channelName, bool enableLog = false)
{ {
_channel = new RedisChannel(channelName, RedisChannel.PatternMode.Literal); ; _channel = channelName;
redis = redisConn; redis = redisConn;
redisDb = redis.GetDatabase(); redisDb = redis.GetDatabase();
this.enableLog = enableLog; this.enableLog = enableLog;
@@ -28,11 +28,6 @@ namespace WebDoorCreator.Data
#region Public Methods #region Public Methods
/// <summary>
/// Invio messaggio sul canale + salvataggio in cache REDIS
/// </summary>
/// <param name="memKey">Chiave REDIS x salvare valore</param>
/// <param name="message"></param>
public bool saveAndSendMessage(string memKey, string message) public bool saveAndSendMessage(string memKey, string message)
{ {
bool answ = false; bool answ = false;
@@ -99,7 +94,7 @@ namespace WebDoorCreator.Data
/// <summary> /// <summary>
/// Canale associato al gestore pipeline messaggi /// Canale associato al gestore pipeline messaggi
/// </summary> /// </summary>
private RedisChannel _channel { get; set; } = new RedisChannel("Default", RedisChannel.PatternMode.Literal); private string _channel { get; set; } = "";
#endregion Private Properties #endregion Private Properties
@@ -113,7 +108,7 @@ namespace WebDoorCreator.Data
{ {
Log.Trace($"ch {channel} | {message}"); Log.Trace($"ch {channel} | {message}");
// messaggio // messaggio
PubSubEventArgs mea = new PubSubEventArgs($"{message}"); PubSubEventArgs mea = new PubSubEventArgs(message);
// se qualcuno ascolta sollevo evento nuovo valore... // se qualcuno ascolta sollevo evento nuovo valore...
if (EA_NewMessage != null) if (EA_NewMessage != null)
{ {
@@ -124,6 +119,12 @@ namespace WebDoorCreator.Data
} }
#endregion Private Methods #endregion Private Methods
/// <summary>
/// Invio messaggio sul canale + salvataggio in cache REDIS
/// </summary>
/// <param name="memKey">Chiave REDIS x salvare valore</param>
/// <param name="message"></param>
} }
public class PubSubEventArgs : EventArgs public class PubSubEventArgs : EventArgs
@@ -69,8 +69,8 @@ namespace WebDoorCreator.Data.Migrations
{ {
Id = "2d778017-0768-47f4-b807-9094d4aa39c7", Id = "2d778017-0768-47f4-b807-9094d4aa39c7",
ConcurrencyStamp = "b83e70eb-09cd-4ac7-8571-c821029ae152", ConcurrencyStamp = "b83e70eb-09cd-4ac7-8571-c821029ae152",
Name = "DcaAdmin", Name = "Admin",
NormalizedName = "DCAADMIN" NormalizedName = "ADMIN"
}, },
new new
{ {
@@ -15,7 +15,7 @@ namespace WebDoorCreator.Data.Migrations
{ {
{ "0bef594b-861c-4c48-b967-c408174074c6", "a470e2f3-6c5e-4123-bf2e-f6f8b4d11328", "Undef", "UNDEF" }, { "0bef594b-861c-4c48-b967-c408174074c6", "a470e2f3-6c5e-4123-bf2e-f6f8b4d11328", "Undef", "UNDEF" },
{ "2bdc3737-48c3-4340-b55d-1739eec7aede", "980f5e55-80d8-466d-8451-746acfa837d4", "SuperAdmin", "SUPERADMIN" }, { "2bdc3737-48c3-4340-b55d-1739eec7aede", "980f5e55-80d8-466d-8451-746acfa837d4", "SuperAdmin", "SUPERADMIN" },
{ "2d778017-0768-47f4-b807-9094d4aa39c7", "b83e70eb-09cd-4ac7-8571-c821029ae152", "DcaAdmin", "DCAADMIN" }, { "2d778017-0768-47f4-b807-9094d4aa39c7", "b83e70eb-09cd-4ac7-8571-c821029ae152", "Admin", "ADMIN" },
{ "585875c2-1787-4c33-aa4d-dfa37ada8766", "0b6d6096-d9b8-4abe-a6b7-4adac55afc37", "CompAdmin", "COMPADMIN" }, { "585875c2-1787-4c33-aa4d-dfa37ada8766", "0b6d6096-d9b8-4abe-a6b7-4adac55afc37", "CompAdmin", "COMPADMIN" },
{ "7444754d-5643-461b-a3c1-aeb8665631d7", "9e3fac4e-50ec-437d-a968-a976ecdc27b5", "CompUser", "COMPUSER" }, { "7444754d-5643-461b-a3c1-aeb8665631d7", "9e3fac4e-50ec-437d-a968-a976ecdc27b5", "CompUser", "COMPUSER" },
{ "9c1c4523-526d-4efa-af94-a24cb04312b8", "9ab5dd98-2d81-4baf-b01c-62c0c893c086", "User", "USER" } { "9c1c4523-526d-4efa-af94-a24cb04312b8", "9ab5dd98-2d81-4baf-b01c-62c0c893c086", "User", "USER" }
@@ -69,8 +69,8 @@ namespace WebDoorCreator.Data.Migrations
{ {
Id = "be0e13af-b32e-490d-b798-36e090e91727", Id = "be0e13af-b32e-490d-b798-36e090e91727",
ConcurrencyStamp = "8bf806ed-63c9-4f86-b20e-836296469772", ConcurrencyStamp = "8bf806ed-63c9-4f86-b20e-836296469772",
Name = "DcaAdmin", Name = "Admin",
NormalizedName = "DCAADMIN" NormalizedName = "ADMIN"
}, },
new new
{ {
@@ -47,7 +47,7 @@ namespace WebDoorCreator.Data.Migrations
{ "31011aea-c9a3-4f34-a9fd-7b7a4bcbefa6", "32cd475f-bbe2-4940-bfd1-fe26cafd4fae", "Undef", "UNDEF" }, { "31011aea-c9a3-4f34-a9fd-7b7a4bcbefa6", "32cd475f-bbe2-4940-bfd1-fe26cafd4fae", "Undef", "UNDEF" },
{ "a5ab56f6-fba3-434d-b316-e5bac2631411", "22a4245e-1026-4990-97ce-9e4a851b0f23", "CompAdmin", "COMPADMIN" }, { "a5ab56f6-fba3-434d-b316-e5bac2631411", "22a4245e-1026-4990-97ce-9e4a851b0f23", "CompAdmin", "COMPADMIN" },
{ "b904f672-414e-4782-b0a5-30c4a0d952f5", "f5e19beb-0c79-41b7-9dee-9b276454eaf8", "CompUser", "COMPUSER" }, { "b904f672-414e-4782-b0a5-30c4a0d952f5", "f5e19beb-0c79-41b7-9dee-9b276454eaf8", "CompUser", "COMPUSER" },
{ "be0e13af-b32e-490d-b798-36e090e91727", "8bf806ed-63c9-4f86-b20e-836296469772", "DcaAdmin", "DCAADMIN" }, { "be0e13af-b32e-490d-b798-36e090e91727", "8bf806ed-63c9-4f86-b20e-836296469772", "Admin", "ADMIN" },
{ "c9cb6d11-c9a5-43d8-bd04-70be1724ba4a", "07b2ba6d-4f23-43d1-b48c-5b05d14b7e7e", "SuperAdmin", "SUPERADMIN" } { "c9cb6d11-c9a5-43d8-bd04-70be1724ba4a", "07b2ba6d-4f23-43d1-b48c-5b05d14b7e7e", "SuperAdmin", "SUPERADMIN" }
}); });
@@ -110,7 +110,7 @@ namespace WebDoorCreator.Data.Migrations
{ {
{ "0bef594b-861c-4c48-b967-c408174074c6", "a470e2f3-6c5e-4123-bf2e-f6f8b4d11328", "Undef", "UNDEF" }, { "0bef594b-861c-4c48-b967-c408174074c6", "a470e2f3-6c5e-4123-bf2e-f6f8b4d11328", "Undef", "UNDEF" },
{ "2bdc3737-48c3-4340-b55d-1739eec7aede", "980f5e55-80d8-466d-8451-746acfa837d4", "SuperAdmin", "SUPERADMIN" }, { "2bdc3737-48c3-4340-b55d-1739eec7aede", "980f5e55-80d8-466d-8451-746acfa837d4", "SuperAdmin", "SUPERADMIN" },
{ "2d778017-0768-47f4-b807-9094d4aa39c7", "b83e70eb-09cd-4ac7-8571-c821029ae152", "DcaAdmin", "DCAADMIN" }, { "2d778017-0768-47f4-b807-9094d4aa39c7", "b83e70eb-09cd-4ac7-8571-c821029ae152", "Admin", "ADMIN" },
{ "585875c2-1787-4c33-aa4d-dfa37ada8766", "0b6d6096-d9b8-4abe-a6b7-4adac55afc37", "CompAdmin", "COMPADMIN" }, { "585875c2-1787-4c33-aa4d-dfa37ada8766", "0b6d6096-d9b8-4abe-a6b7-4adac55afc37", "CompAdmin", "COMPADMIN" },
{ "7444754d-5643-461b-a3c1-aeb8665631d7", "9e3fac4e-50ec-437d-a968-a976ecdc27b5", "CompUser", "COMPUSER" }, { "7444754d-5643-461b-a3c1-aeb8665631d7", "9e3fac4e-50ec-437d-a968-a976ecdc27b5", "CompUser", "COMPUSER" },
{ "9c1c4523-526d-4efa-af94-a24cb04312b8", "9ab5dd98-2d81-4baf-b01c-62c0c893c086", "User", "USER" } { "9c1c4523-526d-4efa-af94-a24cb04312b8", "9ab5dd98-2d81-4baf-b01c-62c0c893c086", "User", "USER" }
@@ -69,8 +69,8 @@ namespace WebDoorCreator.Data.Migrations
{ {
Id = "f5f76968-2225-482a-82ac-f54bd05390b3", Id = "f5f76968-2225-482a-82ac-f54bd05390b3",
ConcurrencyStamp = "b54f1873-a97b-4bb1-9e61-7bd2db0a2316", ConcurrencyStamp = "b54f1873-a97b-4bb1-9e61-7bd2db0a2316",
Name = "DcaAdmin", Name = "Admin",
NormalizedName = "DCAADMIN" NormalizedName = "ADMIN"
}, },
new new
{ {
@@ -58,7 +58,7 @@ namespace WebDoorCreator.Data.Migrations
{ "549ec954-a966-484c-8db8-c7d839e8c4af", "84b61e19-8786-45e4-8977-af6466a87878", "User", "USER" }, { "549ec954-a966-484c-8db8-c7d839e8c4af", "84b61e19-8786-45e4-8977-af6466a87878", "User", "USER" },
{ "6abfe01f-48f9-4a48-8e49-ac5f29a8753a", "e981295d-29b1-4805-a70e-3c83dc4bcfd7", "CompAdmin", "COMPADMIN" }, { "6abfe01f-48f9-4a48-8e49-ac5f29a8753a", "e981295d-29b1-4805-a70e-3c83dc4bcfd7", "CompAdmin", "COMPADMIN" },
{ "7fb23328-c054-4b3d-92e0-f949745c8924", "d795b502-0429-4271-a12d-2549f1eb1b17", "Undef", "UNDEF" }, { "7fb23328-c054-4b3d-92e0-f949745c8924", "d795b502-0429-4271-a12d-2549f1eb1b17", "Undef", "UNDEF" },
{ "f5f76968-2225-482a-82ac-f54bd05390b3", "b54f1873-a97b-4bb1-9e61-7bd2db0a2316", "DcaAdmin", "DCAADMIN" } { "f5f76968-2225-482a-82ac-f54bd05390b3", "b54f1873-a97b-4bb1-9e61-7bd2db0a2316", "Admin", "ADMIN" }
}); });
migrationBuilder.InsertData( migrationBuilder.InsertData(
@@ -122,7 +122,7 @@ namespace WebDoorCreator.Data.Migrations
{ "31011aea-c9a3-4f34-a9fd-7b7a4bcbefa6", "32cd475f-bbe2-4940-bfd1-fe26cafd4fae", "Undef", "UNDEF" }, { "31011aea-c9a3-4f34-a9fd-7b7a4bcbefa6", "32cd475f-bbe2-4940-bfd1-fe26cafd4fae", "Undef", "UNDEF" },
{ "a5ab56f6-fba3-434d-b316-e5bac2631411", "22a4245e-1026-4990-97ce-9e4a851b0f23", "CompAdmin", "COMPADMIN" }, { "a5ab56f6-fba3-434d-b316-e5bac2631411", "22a4245e-1026-4990-97ce-9e4a851b0f23", "CompAdmin", "COMPADMIN" },
{ "b904f672-414e-4782-b0a5-30c4a0d952f5", "f5e19beb-0c79-41b7-9dee-9b276454eaf8", "CompUser", "COMPUSER" }, { "b904f672-414e-4782-b0a5-30c4a0d952f5", "f5e19beb-0c79-41b7-9dee-9b276454eaf8", "CompUser", "COMPUSER" },
{ "be0e13af-b32e-490d-b798-36e090e91727", "8bf806ed-63c9-4f86-b20e-836296469772", "DcaAdmin", "DCAADMIN" }, { "be0e13af-b32e-490d-b798-36e090e91727", "8bf806ed-63c9-4f86-b20e-836296469772", "Admin", "ADMIN" },
{ "c9cb6d11-c9a5-43d8-bd04-70be1724ba4a", "07b2ba6d-4f23-43d1-b48c-5b05d14b7e7e", "SuperAdmin", "SUPERADMIN" } { "c9cb6d11-c9a5-43d8-bd04-70be1724ba4a", "07b2ba6d-4f23-43d1-b48c-5b05d14b7e7e", "SuperAdmin", "SUPERADMIN" }
}); });
@@ -69,8 +69,8 @@ namespace WebDoorCreator.Data.Migrations
{ {
Id = "0fe4015b-cf98-4229-a120-57eb9c2ca945", Id = "0fe4015b-cf98-4229-a120-57eb9c2ca945",
ConcurrencyStamp = "ccb4b655-3619-463d-a702-d0c9497e772c", ConcurrencyStamp = "ccb4b655-3619-463d-a702-d0c9497e772c",
Name = "DcaAdmin", Name = "Admin",
NormalizedName = "DCAADMIN" NormalizedName = "ADMIN"
}, },
new new
{ {
@@ -53,7 +53,7 @@ namespace WebDoorCreator.Data.Migrations
columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" },
values: new object[,] values: new object[,]
{ {
{ "0fe4015b-cf98-4229-a120-57eb9c2ca945", "ccb4b655-3619-463d-a702-d0c9497e772c", "DcaAdmin", "DCAADMIN" }, { "0fe4015b-cf98-4229-a120-57eb9c2ca945", "ccb4b655-3619-463d-a702-d0c9497e772c", "Admin", "ADMIN" },
{ "1f63e241-4a96-437c-9af9-55748e0f6ed5", "684c9e79-7c20-4e25-ade2-66529980ef38", "Undef", "UNDEF" }, { "1f63e241-4a96-437c-9af9-55748e0f6ed5", "684c9e79-7c20-4e25-ade2-66529980ef38", "Undef", "UNDEF" },
{ "34e09fbe-45db-4225-af17-793b4a0f90a1", "3895c7f6-8f63-4c30-9f93-0af0504f5e91", "CompUser", "COMPUSER" }, { "34e09fbe-45db-4225-af17-793b4a0f90a1", "3895c7f6-8f63-4c30-9f93-0af0504f5e91", "CompUser", "COMPUSER" },
{ "9dfb7941-838f-483e-b1c2-10e01abb3d2d", "15368102-cd08-46cf-a376-dbbc8c6a8f71", "User", "USER" }, { "9dfb7941-838f-483e-b1c2-10e01abb3d2d", "15368102-cd08-46cf-a376-dbbc8c6a8f71", "User", "USER" },
@@ -135,7 +135,7 @@ namespace WebDoorCreator.Data.Migrations
{ "549ec954-a966-484c-8db8-c7d839e8c4af", "84b61e19-8786-45e4-8977-af6466a87878", "User", "USER" }, { "549ec954-a966-484c-8db8-c7d839e8c4af", "84b61e19-8786-45e4-8977-af6466a87878", "User", "USER" },
{ "6abfe01f-48f9-4a48-8e49-ac5f29a8753a", "e981295d-29b1-4805-a70e-3c83dc4bcfd7", "CompAdmin", "COMPADMIN" }, { "6abfe01f-48f9-4a48-8e49-ac5f29a8753a", "e981295d-29b1-4805-a70e-3c83dc4bcfd7", "CompAdmin", "COMPADMIN" },
{ "7fb23328-c054-4b3d-92e0-f949745c8924", "d795b502-0429-4271-a12d-2549f1eb1b17", "Undef", "UNDEF" }, { "7fb23328-c054-4b3d-92e0-f949745c8924", "d795b502-0429-4271-a12d-2549f1eb1b17", "Undef", "UNDEF" },
{ "f5f76968-2225-482a-82ac-f54bd05390b3", "b54f1873-a97b-4bb1-9e61-7bd2db0a2316", "DcaAdmin", "DCAADMIN" } { "f5f76968-2225-482a-82ac-f54bd05390b3", "b54f1873-a97b-4bb1-9e61-7bd2db0a2316", "Admin", "ADMIN" }
}); });
migrationBuilder.InsertData( migrationBuilder.InsertData(
@@ -69,8 +69,8 @@ namespace WebDoorCreator.Data.Migrations
{ {
Id = "4225aeef-4a9b-4629-bbb2-4f3ea6c93595", Id = "4225aeef-4a9b-4629-bbb2-4f3ea6c93595",
ConcurrencyStamp = "2a53a882-ccfd-46f5-8c31-04e5945bfc07", ConcurrencyStamp = "2a53a882-ccfd-46f5-8c31-04e5945bfc07",
Name = "DcaAdmin", Name = "Admin",
NormalizedName = "DCAADMIN" NormalizedName = "ADMIN"
}, },
new new
{ {
@@ -63,7 +63,7 @@ namespace WebDoorCreator.Data.Migrations
columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" },
values: new object[,] values: new object[,]
{ {
{ "4225aeef-4a9b-4629-bbb2-4f3ea6c93595", "2a53a882-ccfd-46f5-8c31-04e5945bfc07", "DcaAdmin", "DCAADMIN" }, { "4225aeef-4a9b-4629-bbb2-4f3ea6c93595", "2a53a882-ccfd-46f5-8c31-04e5945bfc07", "Admin", "ADMIN" },
{ "7d3b9719-8a33-4790-b0ce-9df3552458f3", "f271ed2d-48dc-4293-b485-15cfb28b3ce7", "Undef", "UNDEF" }, { "7d3b9719-8a33-4790-b0ce-9df3552458f3", "f271ed2d-48dc-4293-b485-15cfb28b3ce7", "Undef", "UNDEF" },
{ "7f512221-c37f-438c-920a-76458e217611", "315f6b4a-8700-4ae7-a74b-37a70fbc1c90", "User", "USER" }, { "7f512221-c37f-438c-920a-76458e217611", "315f6b4a-8700-4ae7-a74b-37a70fbc1c90", "User", "USER" },
{ "820b2520-2f28-47cc-8453-ea6871f6e0e6", "0ea8eb3e-972e-4a40-b265-f892335e3db0", "CompUser", "COMPUSER" }, { "820b2520-2f28-47cc-8453-ea6871f6e0e6", "0ea8eb3e-972e-4a40-b265-f892335e3db0", "CompUser", "COMPUSER" },
@@ -140,7 +140,7 @@ namespace WebDoorCreator.Data.Migrations
columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" },
values: new object[,] values: new object[,]
{ {
{ "0fe4015b-cf98-4229-a120-57eb9c2ca945", "ccb4b655-3619-463d-a702-d0c9497e772c", "DcaAdmin", "DCAADMIN" }, { "0fe4015b-cf98-4229-a120-57eb9c2ca945", "ccb4b655-3619-463d-a702-d0c9497e772c", "Admin", "ADMIN" },
{ "1f63e241-4a96-437c-9af9-55748e0f6ed5", "684c9e79-7c20-4e25-ade2-66529980ef38", "Undef", "UNDEF" }, { "1f63e241-4a96-437c-9af9-55748e0f6ed5", "684c9e79-7c20-4e25-ade2-66529980ef38", "Undef", "UNDEF" },
{ "34e09fbe-45db-4225-af17-793b4a0f90a1", "3895c7f6-8f63-4c30-9f93-0af0504f5e91", "CompUser", "COMPUSER" }, { "34e09fbe-45db-4225-af17-793b4a0f90a1", "3895c7f6-8f63-4c30-9f93-0af0504f5e91", "CompUser", "COMPUSER" },
{ "9dfb7941-838f-483e-b1c2-10e01abb3d2d", "15368102-cd08-46cf-a376-dbbc8c6a8f71", "User", "USER" }, { "9dfb7941-838f-483e-b1c2-10e01abb3d2d", "15368102-cd08-46cf-a376-dbbc8c6a8f71", "User", "USER" },
@@ -97,7 +97,7 @@ namespace WebDoorCreator.Data.Migrations
columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" }, columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" },
values: new object[,] values: new object[,]
{ {
{ "4225aeef-4a9b-4629-bbb2-4f3ea6c93595", "2a53a882-ccfd-46f5-8c31-04e5945bfc07", "DcaAdmin", "DCAADMIN" }, { "4225aeef-4a9b-4629-bbb2-4f3ea6c93595", "2a53a882-ccfd-46f5-8c31-04e5945bfc07", "Admin", "ADMIN" },
{ "7d3b9719-8a33-4790-b0ce-9df3552458f3", "f271ed2d-48dc-4293-b485-15cfb28b3ce7", "Undef", "UNDEF" }, { "7d3b9719-8a33-4790-b0ce-9df3552458f3", "f271ed2d-48dc-4293-b485-15cfb28b3ce7", "Undef", "UNDEF" },
{ "7f512221-c37f-438c-920a-76458e217611", "315f6b4a-8700-4ae7-a74b-37a70fbc1c90", "User", "USER" }, { "7f512221-c37f-438c-920a-76458e217611", "315f6b4a-8700-4ae7-a74b-37a70fbc1c90", "User", "USER" },
{ "820b2520-2f28-47cc-8453-ea6871f6e0e6", "0ea8eb3e-972e-4a40-b265-f892335e3db0", "CompUser", "COMPUSER" }, { "820b2520-2f28-47cc-8453-ea6871f6e0e6", "0ea8eb3e-972e-4a40-b265-f892335e3db0", "CompUser", "COMPUSER" },
@@ -62,8 +62,8 @@ namespace WebDoorCreator.Data.Migrations.WDCData
{ {
Id = "851dd9d6-570c-48b0-ac48-e494c5fac5d7", Id = "851dd9d6-570c-48b0-ac48-e494c5fac5d7",
ConcurrencyStamp = "13d724e3-b415-4719-8387-e21952306ce3", ConcurrencyStamp = "13d724e3-b415-4719-8387-e21952306ce3",
Name = "DcaAdmin", Name = "Admin",
NormalizedName = "DCAADMIN" NormalizedName = "ADMIN"
}, },
new new
{ {
@@ -106,7 +106,7 @@ namespace WebDoorCreator.Data.Migrations.WDCData
{ "246c1608-059d-4f2b-98b2-f57ab47de3b7", "1b81eff5-4ff6-4756-9bb5-983869fd4b41", "CompAdmin", "COMPADMIN" }, { "246c1608-059d-4f2b-98b2-f57ab47de3b7", "1b81eff5-4ff6-4756-9bb5-983869fd4b41", "CompAdmin", "COMPADMIN" },
{ "695e212d-f79c-45dd-931d-6390c4533c6e", "a4788fda-3f24-41dc-b492-a621de69f031", "SuperAdmin", "SUPERADMIN" }, { "695e212d-f79c-45dd-931d-6390c4533c6e", "a4788fda-3f24-41dc-b492-a621de69f031", "SuperAdmin", "SUPERADMIN" },
{ "805c6051-0372-4e2b-9b94-f5c8881ef7cb", "a73832bd-be3e-4a48-8b0a-475c8930b4c5", "CompUser", "COMPUSER" }, { "805c6051-0372-4e2b-9b94-f5c8881ef7cb", "a73832bd-be3e-4a48-8b0a-475c8930b4c5", "CompUser", "COMPUSER" },
{ "851dd9d6-570c-48b0-ac48-e494c5fac5d7", "13d724e3-b415-4719-8387-e21952306ce3", "DcaAdmin", "DCAADMIN" }, { "851dd9d6-570c-48b0-ac48-e494c5fac5d7", "13d724e3-b415-4719-8387-e21952306ce3", "Admin", "ADMIN" },
{ "d0cafb49-7d19-4d4f-a280-6837e5842e8b", "7f94eb48-1f91-4e88-bae6-bb655dba168b", "User", "USER" } { "d0cafb49-7d19-4d4f-a280-6837e5842e8b", "7f94eb48-1f91-4e88-bae6-bb655dba168b", "User", "USER" }
}); });

Some files were not shown because too many files have changed in this diff Show More