doppia azienda

This commit is contained in:
Marco Audiffredi 2024-12-06 16:00:01 +01:00
parent 512f80e716
commit 8c0dbac36c
35 changed files with 7808 additions and 279 deletions

Binary file not shown.

Binary file not shown.

View File

@ -10,6 +10,8 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Cronos" Version="0.7.1" /> <PackageReference Include="Cronos" Version="0.7.1" />
<PackageReference Include="FirebaseAdmin" Version="2.3.0" /> <PackageReference Include="FirebaseAdmin" Version="2.3.0" />
<PackageReference Include="Google.Apis.Auth" Version="1.68.0" />
<PackageReference Include="Google.Apis.FirebaseCloudMessaging.v1" Version="1.68.0.3603" />
<PackageReference Include="Microsoft.AspNet.Mvc" Version="5.2.9" /> <PackageReference Include="Microsoft.AspNet.Mvc" Version="5.2.9" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.Negotiate" Version="6.0.5" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.Negotiate" Version="6.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.5" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.5" />
@ -18,7 +20,9 @@
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
<PackageReference Include="Nancy" Version="2.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="RestSharp" Version="112.1.0" />
<PackageReference Include="SSH.NET" Version="2020.0.2" /> <PackageReference Include="SSH.NET" Version="2020.0.2" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.3.1" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.3.1" />
</ItemGroup> </ItemGroup>

View File

@ -1219,8 +1219,8 @@ namespace ApiPolo.Controllers
Configurazioni c=new Configurazioni(); Configurazioni c=new Configurazioni();
List<Configurazioni> co =new List<Configurazioni>(); List<Configurazioni> co =new List<Configurazioni>();
if(_config is not null && _config.conf is not null) if(_config is not null && _config.conf is not null)
co = await _config.conf.Where(t => t.azienda == ten).ToListAsync(); //co = await _config.conf.Where(t => t.azienda_adhoc == ten).ToListAsync();
//var co = await _config.conf.Where(t => t.azienda == ten).ToListAsync(); co = await _config.conf.Where(t => t.azienda == ten).ToListAsync();
foreach (var a in co) foreach (var a in co)
{ {
@ -1298,6 +1298,7 @@ namespace ApiPolo.Controllers
c.max_record = a.max_record != null ? a.max_record : 100; c.max_record = a.max_record != null ? a.max_record : 100;
c.prezzi_visibili = a.prezzi_visibili != null ? a.prezzi_visibili : true; c.prezzi_visibili = a.prezzi_visibili != null ? a.prezzi_visibili : true;
c.desc_supp_prodotti_visibile=a.desc_supp_prodotti_visibile!=null?a.desc_supp_prodotti_visibile:false; c.desc_supp_prodotti_visibile=a.desc_supp_prodotti_visibile!=null?a.desc_supp_prodotti_visibile:false;
c.azienda_adhoc = a.azienda_adhoc != null ? a.azienda_adhoc : string.Empty;
} }
return c; return c;
@ -2362,6 +2363,11 @@ namespace ApiPolo.Controllers
string seriale = string.Empty; string seriale = string.Empty;
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string ten2 = getClaimValueByToken(token, "tenant2"); string ten2 = getClaimValueByToken(token, "tenant2");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
switch (ten) switch (ten)
{ {
@ -2581,7 +2587,13 @@ namespace ApiPolo.Controllers
string new_serial = string.Empty; string new_serial = string.Empty;
string ten = string.Empty; string ten = string.Empty;
ten = getClaimValueByToken(token, "tenant"); ten = getClaimValueByToken(token, "tenant");
if(ten.Equals(Clienti.VT)) string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
if (ten.Equals(Clienti.VT))
{ {
ten = getClaimValueByToken(token, "tenant2"); ten = getClaimValueByToken(token, "tenant2");
_chiamate= _VT_chia.Chiamate; _chiamate= _VT_chia.Chiamate;
@ -2670,6 +2682,9 @@ namespace ApiPolo.Controllers
/// <summary></summary> /// <summary></summary>
public const string ChiamataDaCommessa = "4"; public const string ChiamataDaCommessa = "4";
/// <summary></summary>
public const string ChiamataCapoTecnico = "5";
} }
private async Task<int> checkChiamataPresa(string ten, string serChiamata,string tipo, string ten2) private async Task<int> checkChiamataPresa(string ten, string serChiamata,string tipo, string ten2)
{ {
@ -3434,6 +3449,11 @@ namespace ApiPolo.Controllers
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tecnico = getClaimValueByToken(token, "tccodice"); string tecnico = getClaimValueByToken(token, "tccodice");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
Configurazione_out output = new Configurazione_out(); Configurazione_out output = new Configurazione_out();
try try
@ -3713,7 +3733,15 @@ namespace ApiPolo.Controllers
List < Magazzini > lst= new List<Magazzini>(); List < Magazzini > lst= new List<Magazzini>();
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
if(ten.Equals(Clienti.VT)) string ten2 = getClaimValueByToken(token, "tenant2");
string tenAdhoc = getClaimValueByToken(token, "tenantConfigurazioni");
if(string.IsNullOrEmpty(ten))
{
ten = tenAdhoc;
}
if (ten.Equals(Clienti.VT))
{ {
return lst; return lst;
} }
@ -3730,6 +3758,7 @@ namespace ApiPolo.Controllers
public async Task< ActionResult<LoginOut>> loginTechnical([FromBody] LoginModel model) public async Task< ActionResult<LoginOut>> loginTechnical([FromBody] LoginModel model)
{ {
LoginOut o = new LoginOut(); LoginOut o = new LoginOut();
string tenAdHoc = string.Empty;
try try
{ {
if (string.IsNullOrEmpty(model.Username) || string.IsNullOrEmpty(model.Password)) if (string.IsNullOrEmpty(model.Username) || string.IsNullOrEmpty(model.Password))
@ -3747,11 +3776,18 @@ namespace ApiPolo.Controllers
case Clienti.VT: case Clienti.VT:
_tecnici= _VT_tec.Tecnici; _tecnici= _VT_tec.Tecnici;
tecnico = await _tecnici.Where(t => t.tcuser == model.Username && t.tcpwd == model.Password ).Take(1).ToListAsync(); tecnico = await _tecnici.Where(t => t.tcuser == model.Username && t.tcpwd == model.Password ).Take(1).ToListAsync();
string ten2 = tecnico.First().tccodazi;
_confLette = await readConf(ten2);
break; break;
default: default:
_tecnici = getTecniciByTenant(model.Tenant); //2024-11-26: leggo le configurazioni prima perchè come tenant non devo più leggere AZIENDA ma AZIENDA_ADHOC
tecnico = await _tecnici.Where(t => t.tcuser == model.Username && t.tcpwd == model.Password && t.tccodazi == model.Tenant).Take(1).ToListAsync(); _confLette = await readConf(model.Tenant);
tenAdHoc = (_confLette != null && _confLette.azienda_adhoc!=null)? _confLette.azienda_adhoc:string.Empty;
_tecnici = getTecniciByTenant(tenAdHoc);
//model.Tenant = tenAdHoc;// lo valoriozzo con quello iniziale per non cambiare il passaggio nel token
tecnico = await _tecnici.Where(t => t.tcuser == model.Username && t.tcpwd == model.Password && t.tccodazi == tenAdHoc).Take(1).ToListAsync();
break; break;
} }
@ -3769,7 +3805,8 @@ namespace ApiPolo.Controllers
//new Claim(ClaimTypes.Name, model.Username), //new Claim(ClaimTypes.Name, model.Username),
new Claim(ClaimTypes.Name,tecnico.First().tcuser), new Claim(ClaimTypes.Name,tecnico.First().tcuser),
new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
new Claim("tenant", model.Tenant), new Claim("tenant", tenAdHoc),//questa è la vera azienda in AdHoc. Quella del model è quella che individua l'azienda nelle configurazioni (A0001 è sempre la stessa per tutte le installazioni di ADHOC WEB)
new Claim("tenantConfigurazioni", model.Tenant),//questa è l'azienda nelle configurazioni
new Claim("tenant2", tecnico.First().tccodazi), new Claim("tenant2", tecnico.First().tccodazi),
new Claim("tccodice", tecnico.First().tccodice), new Claim("tccodice", tecnico.First().tccodice),
}; };
@ -3790,16 +3827,6 @@ namespace ApiPolo.Controllers
o.Tccodice = tecnico.First().tccodice; o.Tccodice = tecnico.First().tccodice;
Conf cc = new Conf(); Conf cc = new Conf();
if (model.Tenant.Equals(Clienti.VT))
{
string ten2 = tecnico.First().tccodazi;
_confLette = await readConf(ten2);
}
else
{
_confLette = await readConf(model.Tenant);
}
//le configurazioni per VT vanno lette con il tenant generico VIRTU //le configurazioni per VT vanno lette con il tenant generico VIRTU
//2024-05-16: tornati alla impostazione iniziale per poter gestite i pulsanti per ogni cliente di VT //2024-05-16: tornati alla impostazione iniziale per poter gestite i pulsanti per ogni cliente di VT
//_confLette = await readConf(model.Tenant); //_confLette = await readConf(model.Tenant);
@ -4007,17 +4034,10 @@ namespace ApiPolo.Controllers
_rapp_new = getRappNewByTenant(ten); _rapp_new = getRappNewByTenant(ten);
break; break;
} }
//var rapp = await _rapp_new.Where(t => t.azienda_impianto == ten && t.ser_buono!=null && t.tipo_rapportino== TipoRapportino.ChiamataChiusa).OrderByDescending(t => t.ser_buono).Take(1).ToListAsync(); //var rapp = await _rapp_new.Where(t => t.azienda_impianto == ten && t.ser_buono!=null && t.tipo_rapportino== TipoRapportino.ChiamataChiusa).OrderByDescending(t => t.ser_buono).Take(1).ToListAsync();
//var rapp = await _rapp_new.Where(t => t.azienda_impianto == ten && t.ser_buono != null && t.ser_buono.Trim().Contains(pref) && t.tipo_rapportino == TipoRapportino.ChiamataChiusa).OrderByDescending(t => t.ser_buono).Take(1).ToListAsync(); //var rapp = await _rapp_new.Where(t => t.azienda_impianto == ten && t.ser_buono != null && t.ser_buono.Trim().Contains(pref) && t.tipo_rapportino == TipoRapportino.ChiamataChiusa).OrderByDescending(t => t.ser_buono).Take(1).ToListAsync();
//tolto filtro su tipo rapportino per gestire anche il tipo 4 =commessa //tolto filtro su tipo rapportino per gestire anche il tipo 4 =commessa
var rapp = await _rapp_new.Where(t => t.azienda_impianto == ten && t.ser_buono != null && t.ser_buono.Trim().Contains(pref)).OrderByDescending(t => t.ser_buono).Take(1).ToListAsync(); var rapp = await _rapp_new.Where(t => t.azienda_impianto == ten && t.ser_buono != null && t.ser_buono.Trim().Contains(pref)).OrderByDescending(t => t.ser_buono).Take(1).ToListAsync();
//var rapp1 = await _rapp_new.Where(t => t.azienda_impianto.Equals(ten)).OrderByDescending(t => t.ser_buono).ToListAsync();
//var rapp2 = await _rapp_new.Where(t => t.ser_buono != null ).OrderByDescending(t => t.ser_buono).ToListAsync();
//var rapp3 = await _rapp_new.Where(t => t.ser_buono.Contains(pref)).OrderByDescending(t => t.ser_buono).ToListAsync();
if (rapp != null && rapp.Count() > 0) if (rapp != null && rapp.Count() > 0)
{ {
@ -4037,6 +4057,11 @@ namespace ApiPolo.Controllers
DateTime adesso = DateTime.Now; DateTime adesso = DateTime.Now;
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tecnico = getClaimValueByToken(token, "tccodice"); string tecnico = getClaimValueByToken(token, "tccodice");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
switch (ten) switch (ten)
{ {
@ -4097,6 +4122,11 @@ namespace ApiPolo.Controllers
DateTime adesso = DateTime.Now; DateTime adesso = DateTime.Now;
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tecnico = getClaimValueByToken(token, "tccodice"); string tecnico = getClaimValueByToken(token, "tccodice");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
switch (ten) switch (ten)
{ {
@ -4155,6 +4185,11 @@ namespace ApiPolo.Controllers
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string ten2 = getClaimValueByToken(token, "tenant2"); string ten2 = getClaimValueByToken(token, "tenant2");
string tecnico = getClaimValueByToken(token, "tccodice"); string tecnico = getClaimValueByToken(token, "tccodice");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
var sBuono = await getSerBuonoChiamata(ten, co.prefisso_buoni_chia,ten2); var sBuono = await getSerBuonoChiamata(ten, co.prefisso_buoni_chia,ten2);
@ -4177,7 +4212,17 @@ namespace ApiPolo.Controllers
).OrderByDescending(t => t.chdtapp).ToListAsync(); ).OrderByDescending(t => t.chdtapp).ToListAsync();
if(chiam!=null && chiam.Count()>0) if(chiam!=null && chiam.Count()>0)
{ {
r.tipo_rapportino = TipoRapportino.ChiamataDaCommessa; // MARROCCO se la chiamata è fatta da un capo tecnico che deve rendicontare l'attività delle squadra
// sulla chiamata nel campo CHMODRAC viene scritto COMME
if(ten.Equals(Clienti.Marrocco) && chiam !=null && chiam.FirstOrDefault().chmodrac!=null && chiam.FirstOrDefault().chmodrac.Equals("COMME"))
{
r.tipo_rapportino = TipoRapportino.ChiamataCapoTecnico;
}
else
{
r.tipo_rapportino = TipoRapportino.ChiamataDaCommessa;
}
r.seriale_commessa = chiam.FirstOrDefault().chrifer; r.seriale_commessa = chiam.FirstOrDefault().chrifer;
} }
else else
@ -4260,9 +4305,9 @@ namespace ApiPolo.Controllers
//r.immagine = i.immagine; //r.immagine = i.immagine;
r.immagine = string.Format(@"{0}\{1}.jpg", co.path_buoni, sBuono.ToString()); r.immagine = string.Format(@"{0}\{1}.jpg", co.path_buoni, sBuono.ToString());
r.ser_buono = sBuono.ToString(); r.ser_buono = sBuono.ToString();
Console.WriteLine(string.Format("*********** {2} metodo chiudi: tenant:{0} tenant2: {1} tenantConf: {5} buono: {3} tecnico:{4} ", ten, ten2, DateTime.Now.ToString(), r.ser_buono, r.codice_tecnico,tenConf));
return r; return r;
} }
@ -5335,7 +5380,6 @@ namespace ApiPolo.Controllers
o.imrefref = i.imrefref; o.imrefref = i.imrefref;
return o; return o;
} }
private string getCommessaSietBySerial(string seriale) private string getCommessaSietBySerial(string seriale)
{ {
string commessa = string.Empty; string commessa = string.Empty;
@ -5351,7 +5395,6 @@ namespace ApiPolo.Controllers
} }
return commessa; return commessa;
} }
private Chiamate_out inputToChiamateOut(Input i) private Chiamate_out inputToChiamateOut(Input i)
{ {
Chiamate_out c = new Chiamate_out(); Chiamate_out c = new Chiamate_out();
@ -5370,6 +5413,11 @@ namespace ApiPolo.Controllers
try try
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
switch (ten) switch (ten)
{ {
@ -5469,6 +5517,11 @@ namespace ApiPolo.Controllers
string ten2 = getClaimValueByToken(token, "tenant2"); string ten2 = getClaimValueByToken(token, "tenant2");
string tenOut = getClaimValueByToken(token, "tenant"); string tenOut = getClaimValueByToken(token, "tenant");
string tecnico = getClaimValueByToken(token, "tccodice"); string tecnico = getClaimValueByToken(token, "tccodice");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if(string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
switch (ten) switch (ten)
{ {
@ -5562,6 +5615,11 @@ namespace ApiPolo.Controllers
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string ten2 = getClaimValueByToken(token, "tenant2"); string ten2 = getClaimValueByToken(token, "tenant2");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
Chiamate calltec=new Chiamate(); Chiamate calltec=new Chiamate();
Chiamate_out calltec_out = new Chiamate_out(); Chiamate_out calltec_out = new Chiamate_out();
string tec = string.Empty; string tec = string.Empty;
@ -5576,7 +5634,7 @@ namespace ApiPolo.Controllers
if (await checkChiamataPresa(ten, model.seriale_chiamata,TipoRapportino.PresaInCarico,ten2) ==0) if (await checkChiamataPresa(ten, model.seriale_chiamata,TipoRapportino.PresaInCarico,ten2) ==0)
{ {
_confLette = await readConf(ten); _confLette = await readConf(tenConf);
string newSerial = string.Empty; string newSerial = string.Empty;
newSerial = await getSeriale(token); newSerial = await getSeriale(token);
Rapp_New r = await fillRappNewByInput(model, token, newSerial, _confLette); Rapp_New r = await fillRappNewByInput(model, token, newSerial, _confLette);
@ -5734,6 +5792,11 @@ namespace ApiPolo.Controllers
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string ten2 = getClaimValueByToken(token, "tenant2"); string ten2 = getClaimValueByToken(token, "tenant2");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
Chiamate calltec = new Chiamate(); Chiamate calltec = new Chiamate();
Chiamate_out calltec_out = new Chiamate_out(); Chiamate_out calltec_out = new Chiamate_out();
@ -5741,7 +5804,7 @@ namespace ApiPolo.Controllers
{ {
if (await checkChiamataRifiutata(ten, model.seriale_chiamata, TipoRapportino.PresaInCarico,ten2) == 0) if (await checkChiamataRifiutata(ten, model.seriale_chiamata, TipoRapportino.PresaInCarico,ten2) == 0)
{ {
//_confLette = await readConf(ten); _confLette = await readConf(tenConf);
string newSerial = string.Empty; string newSerial = string.Empty;
newSerial = await getSeriale(token); newSerial = await getSeriale(token);
Rapp_New r = await fillRappNewRifiutoByInput(model, token, newSerial, _confLette); Rapp_New r = await fillRappNewRifiutoByInput(model, token, newSerial, _confLette);
@ -5890,26 +5953,32 @@ namespace ApiPolo.Controllers
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string ten2 = getClaimValueByToken(token, "tenant2"); string ten2 = getClaimValueByToken(token, "tenant2");
string tecnico = getClaimValueByToken(token, "tccodice"); string tecnico = getClaimValueByToken(token, "tccodice");
string tenConf= getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
Chiamate calltec = new Chiamate(); Chiamate calltec = new Chiamate();
Chiamate_out calltec_out = new Chiamate_out(); Chiamate_out calltec_out = new Chiamate_out();
try try
{ {
if (await checkChiamataChiusa(ten, model.seriale_chiamata, TipoRapportino.ChiamataChiusa) == 0) if (await checkChiamataChiusa(ten, model.seriale_chiamata, TipoRapportino.ChiamataChiusa) == 0)
{ {
int riga = 0; int riga = 0;
if(ten.Equals(Clienti.VT)) if(ten.Equals(Clienti.VT))
{ {
_confLette = await readConf(ten2); _confLette = await readConf(ten2);
} }
else else
{ {
_confLette = await readConf(ten);
} _confLette = await readConf(tenConf);
}
string newSerial = string.Empty; string newSerial = string.Empty;
newSerial = await getSeriale(token); newSerial = await getSeriale(token);
Rapp_New r = await fillRappNewChiudiByInput(model, token, newSerial, _confLette); Rapp_New r = await fillRappNewChiudiByInput(model, token, newSerial, _confLette);
switch (ten) switch (ten)
@ -6301,9 +6370,17 @@ namespace ApiPolo.Controllers
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string ten2 = getClaimValueByToken(token, "tenant2"); string ten2 = getClaimValueByToken(token, "tenant2");
string tecnico = getClaimValueByToken(token, "tccodice"); string tecnico = getClaimValueByToken(token, "tccodice");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
Chiamate calltec = new Chiamate(); Chiamate calltec = new Chiamate();
Chiamate_out calltec_out = new Chiamate_out(); Chiamate_out calltec_out = new Chiamate_out();
Rapp_New r = null; Rapp_New r = null;
try try
{ {
if ((r=await checkChiamataDaRilasciare (ten, model.seriale_rapportino, TipoRapportino.PresaInCarico, ten2))!=null) if ((r=await checkChiamataDaRilasciare (ten, model.seriale_rapportino, TipoRapportino.PresaInCarico, ten2))!=null)
@ -6481,6 +6558,8 @@ namespace ApiPolo.Controllers
DateTime adesso = DateTime.Now; DateTime adesso = DateTime.Now;
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tecnico = getClaimValueByToken(token, "tccodice"); string tecnico = getClaimValueByToken(token, "tccodice");
string ten2 = getClaimValueByToken(token, "tenant2");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
var sBuono = await getSerBuonoManutenzione(ten, co.prefisso_buoni_man); var sBuono = await getSerBuonoManutenzione(ten, co.prefisso_buoni_man);
//model = fakeInputMan(model); //model = fakeInputMan(model);
@ -6565,6 +6644,7 @@ namespace ApiPolo.Controllers
//string ts = DateTime.Now.ToString("yyyyMMddHHmmss"); //string ts = DateTime.Now.ToString("yyyyMMddHHmmss");
//r.immagine = string.Format(@"{0}\{1}_{2}.jpg", co.path_buoni, sBuono.ToString(),ts); //r.immagine = string.Format(@"{0}\{1}_{2}.jpg", co.path_buoni, sBuono.ToString(),ts);
r.ser_buono = sBuono.ToString(); r.ser_buono = sBuono.ToString();
Console.WriteLine(string.Format("*********** {2} metodo chiudi MAN: tenant:{0} tenant2: {1} tenantConf: {5} buono: {3} tecnico:{4} ", ten, ten2, DateTime.Now.ToString(), r.ser_buono, r.codice_tecnico, tenConf));
return r; return r;
} }
@ -7386,13 +7466,15 @@ namespace ApiPolo.Controllers
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tecnico = getClaimValueByToken(token, "tccodice"); string tecnico = getClaimValueByToken(token, "tccodice");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
Manprog man = new Manprog(); Manprog man = new Manprog();
Manprog_out output = new Manprog_out(); Manprog_out output = new Manprog_out();
try try
{ {
if (await checkManutenzioneChiusa(ten,TipoRapportino.ManutenzioneChiusa,model.pimpianto,model.pidatman,model.picodint)==0) if (await checkManutenzioneChiusa(ten,TipoRapportino.ManutenzioneChiusa,model.pimpianto,model.pidatman,model.picodint)==0)
{ {
_confLette = await readConf(ten); _confLette = await readConf(tenConf);
string newSerial = string.Empty; string newSerial = string.Empty;
newSerial = await getSeriale(token); newSerial = await getSeriale(token);
Rapp_New r = await fillRappNewChiudiManByInput(model, token, newSerial, _confLette); Rapp_New r = await fillRappNewChiudiManByInput(model, token, newSerial, _confLette);
@ -8006,18 +8088,27 @@ namespace ApiPolo.Controllers
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string ten2 = getClaimValueByToken(token, "tenant2");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
string tecnico = getClaimValueByToken(token, "tccodice");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
string fileName = string.Empty; string fileName = string.Empty;
string ten2 = string.Empty;
Console.WriteLine(string.Format("*********** {2} INIZIO Chiamata al metodo upload: tenant:{0} file: {1} ", ten, nomefile, DateTime.Now.ToString())); //Console.WriteLine(string.Format("*********** {2} metodo chiudi: tenant:{0} tenant2: {1} tenantConf: {5} buono: {3} tecnico:{4} ", ten, ten2, DateTime.Now.ToString(), r.ser_buono, r.codice_tecnico,tenConf));
Console.WriteLine(string.Format("*********** {2} INIZIO Chiamata al metodo upload: tenant:{0} tenant2: {3} tenantConf: {4} file: {1} tecnico:{5}", ten, nomefile, DateTime.Now.ToString(),ten2,tenConf, tecnico));
if (ten.Equals(Clienti.VT)) if (ten.Equals(Clienti.VT))
{ {
ten2= getClaimValueByToken(token, "tenant2"); //ten2= getClaimValueByToken(token, "tenant2");
_confLette = await readConf(ten2); _confLette = await readConf(ten2);
} }
else else
{ {
_confLette = await readConf(ten); _confLette = await readConf(tenConf);
} }
try try
@ -8230,43 +8321,8 @@ namespace ApiPolo.Controllers
default: default:
break; break;
} }
//per Virtual Task inserisco anche nella tabella buoni
//if(ten.Equals(Clienti.VT))
//{
// Buoni model = new Buoni();
// model.azienda = ten2;
// if(nomefile.Length>8)
// nomefile=nomefile.Substring(0,8);
// model.ser_buono = nomefile;
// model.dt_ins = DateTime.Now;
// using (MemoryStream ms = new MemoryStream())
// {
// files.CopyTo(ms);
// byte[] array = ms.GetBuffer();
// model.immagine = array;
// }
// try
// {
// using (var transaction = _VT_Buoni.Database.BeginTransaction())
// {
// await _VT_Buoni.buoni.AddAsync(model);
// await _VT_Buoni.SaveChangesAsync();
// transaction.Commit();
// }
// Console.WriteLine(string.Format("*********** {2} FINE Chiamata al metodo upload: tenant:{0} file: {1} ", ten, nomefile, DateTime.Now.ToString()));
// return StatusCode(StatusCodes.Status200OK, model);
Console.WriteLine(string.Format("*********** {2} FINE Chiamata al metodo upload: tenant:{0} tenant2: {3} tenantConf: {4} file: {1} tecnico:{5}", ten, nomefile, DateTime.Now.ToString(), ten2, tenConf, tecnico));
// }
// catch (Exception ex)
// {
// string errmsg = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
// return StatusCode(StatusCodes.Status500InternalServerError, errmsg);
// }
//}
Console.WriteLine(string.Format("*********** {2} FINE Chiamata al metodo upload: tenant:{0} file: {1} ", ten, nomefile, DateTime.Now.ToString()));
return Ok(new { count = 1, size }); return Ok(new { count = 1, size });
} }
catch (Exception ex) catch (Exception ex)
@ -8282,7 +8338,8 @@ namespace ApiPolo.Controllers
sb.AppendLine(ex.InnerException.Message); sb.AppendLine(ex.InnerException.Message);
} }
errMsg = sb.ToString(); errMsg = sb.ToString();
Console.WriteLine(string.Format("*********** {2} ERRORE metodo upload: tenant:{0} file: {1} ==> {3}", ten, nomefile, DateTime.Now.ToString(),errMsg)); //Console.WriteLine(string.Format("*********** {2} ERRORE metodo upload: tenant:{0} file: {1} ==> {3}", ten, nomefile, DateTime.Now.ToString(),errMsg));
Console.WriteLine(string.Format("*********** {2} ERRORE metodo upload: tenant:{0} tenant2: {3} tenantConf: {4} file: {1} tecnico:{5} ==> {6}", ten, nomefile, DateTime.Now.ToString(), ten2, tenConf, tecnico, errMsg));
return StatusCode(StatusCodes.Status500InternalServerError, "Error: "+errMsg); return StatusCode(StatusCodes.Status500InternalServerError, "Error: "+errMsg);
} }
} }
@ -8363,6 +8420,11 @@ namespace ApiPolo.Controllers
public async Task<ActionResult<Compo_Impia_out>> addcomponente([FromBody] Compo_Impia model, string token) public async Task<ActionResult<Compo_Impia_out>> addcomponente([FromBody] Compo_Impia model, string token)
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
Compo_Impia_Table co = new Compo_Impia_Table(); Compo_Impia_Table co = new Compo_Impia_Table();
Compo_Impia_out co_out = new Compo_Impia_out(); Compo_Impia_out co_out = new Compo_Impia_out();
@ -8446,6 +8508,11 @@ namespace ApiPolo.Controllers
public async Task<ActionResult<Compo_Impia_out>> delcomponente([FromBody] Compo_Impia model, string token) public async Task<ActionResult<Compo_Impia_out>> delcomponente([FromBody] Compo_Impia model, string token)
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
_compoTable = getComponentiTableByTenant(ten); _compoTable = getComponentiTableByTenant(ten);
var comp = await _compoTable.Where(t => t.cocodimp == model.cocodimp && t.cprownum == model.cprownum && t.cocodazi == ten).ToListAsync(); var comp = await _compoTable.Where(t => t.cocodimp == model.cocodimp && t.cprownum == model.cprownum && t.cocodazi == ten).ToListAsync();
Compo_Impia_out co_out = new Compo_Impia_out(); Compo_Impia_out co_out = new Compo_Impia_out();
@ -8544,9 +8611,10 @@ namespace ApiPolo.Controllers
try try
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
_saldi = getSaldiartByTenant(ten); _saldi = getSaldiartByTenant(ten);
Configurazioni conf = await readConf(ten); Configurazioni conf = await readConf(tenConf);
int max_record = 0; int max_record = 0;
max_record = conf.max_record!=null? conf.max_record.Value:0; max_record = conf.max_record!=null? conf.max_record.Value:0;
string codlis = string.Empty; string codlis = string.Empty;
@ -8678,6 +8746,11 @@ namespace ApiPolo.Controllers
public async Task<ActionResult<Mag_New_out>> addrapportino([FromBody] Mag_New model, string token) public async Task<ActionResult<Mag_New_out>> addrapportino([FromBody] Mag_New model, string token)
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
Mag_New co = new Mag_New(); Mag_New co = new Mag_New();
Mag_New_out co_out = new Mag_New_out(); Mag_New_out co_out = new Mag_New_out();
@ -11403,6 +11476,12 @@ namespace ApiPolo.Controllers
try try
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
Anag aa = new Anag(); Anag aa = new Anag();
switch (ten) switch (ten)
{ {
@ -11642,6 +11721,12 @@ namespace ApiPolo.Controllers
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tecnico = getClaimValueByToken(token, "tccodice"); string tecnico = getClaimValueByToken(token, "tccodice");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
if (await checkTimbraturaPresente(ten, model) == 0) if (await checkTimbraturaPresente(ten, model) == 0)
{ {
Timbratura t = await fillTimbratura(model, token); Timbratura t = await fillTimbratura(model, token);
@ -12130,6 +12215,13 @@ namespace ApiPolo.Controllers
{ {
Output_Ricerca uscita = new Output_Ricerca(); Output_Ricerca uscita = new Output_Ricerca();
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string ten2 = getClaimValueByToken(token, "tenant2");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
//Console.WriteLine(string.Format("*********** {2} INIZIO Chiamata al metodo ricerca_commessa_impianto2: tipo:{0} file: {1} ", ten, tipo, DateTime.Now.ToString())); //Console.WriteLine(string.Format("*********** {2} INIZIO Chiamata al metodo ricerca_commessa_impianto2: tipo:{0} file: {1} ", ten, tipo, DateTime.Now.ToString()));
//Radio Commessa, tipo 1 , campi cli e comm //Radio Commessa, tipo 1 , campi cli e comm
//Radio Cliente, tipo 2, campi cli //Radio Cliente, tipo 2, campi cli
@ -12145,23 +12237,9 @@ namespace ApiPolo.Controllers
#region ricerca commessa #region ricerca commessa
try try
{ {
//if (string.IsNullOrEmpty(codimp) && string.IsNullOrEmpty(indirizzo_imp) && string.IsNullOrEmpty(cli) && string.IsNullOrEmpty(comm))
//{
// uscita.err_title = "Errore in ricerca Commesse/Impianto.";
// uscita.err_detail = "Immettere almeno un parametro di ricerca.";
// uscita.err_status_code = StatiRisposta.OperazioneNonAmmessa;
// //return StatusCode(StatusCodes.Status400BadRequest, uscita);
// st = StatusCodes.Status400BadRequest;
// lis.Add(uscita);
//}
//else
//{
if (ten.Equals(Clienti.VT)) if (ten.Equals(Clienti.VT))
{ {
string ten2 = getClaimValueByToken(token, "tenant2");
_VT_Commesse = _VT_Comm.Comm; _VT_Commesse = _VT_Comm.Comm;
var l = await _VT_Commesse.Where(t => t.lacodazi.Equals(ten2)).ToListAsync(); var l = await _VT_Commesse.Where(t => t.lacodazi.Equals(ten2)).ToListAsync();
if (!string.IsNullOrEmpty(codimp)) if (!string.IsNullOrEmpty(codimp))
@ -12247,8 +12325,7 @@ namespace ApiPolo.Controllers
{ {
//string ten = getClaimValueByToken(token, "tenant"); //string ten = getClaimValueByToken(token, "tenant");
if (ten.Equals(Clienti.VT)) if (ten.Equals(Clienti.VT))
{ {
string ten2 = getClaimValueByToken(token, "tenant2");
var l = await _VT_impia.Impia.Where(t => t.imcodazi != null && t.imcodazi.Equals(ten2)).ToListAsync(); var l = await _VT_impia.Impia.Where(t => t.imcodazi != null && t.imcodazi.Equals(ten2)).ToListAsync();
if (!string.IsNullOrEmpty(codimp)) if (!string.IsNullOrEmpty(codimp))
{ {
@ -12307,10 +12384,8 @@ namespace ApiPolo.Controllers
try try
{ {
//Radio Cliente, tipo 2, campi cli //Radio Cliente, tipo 2, campi cli
//string ten = getClaimValueByToken(token, "tenant");
if (ten.Equals(Clienti.VT)) if (ten.Equals(Clienti.VT))
{ {
string ten2 = getClaimValueByToken(token, "tenant2");
var l = await _VT_impia.Impia.Where(t => t.imcodazi != null && t.imcodazi.Equals(ten2)).ToListAsync(); var l = await _VT_impia.Impia.Where(t => t.imcodazi != null && t.imcodazi.Equals(ten2)).ToListAsync();
if (!string.IsNullOrEmpty(cli)) if (!string.IsNullOrEmpty(cli))
@ -12381,6 +12456,12 @@ namespace ApiPolo.Controllers
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string tecnico = getClaimValueByToken(token, "tccodice"); string tecnico = getClaimValueByToken(token, "tccodice");
string ten2 = getClaimValueByToken(token, "tenant2"); string ten2 = getClaimValueByToken(token, "tenant2");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
Chiamate_out o = new Chiamate_out(); Chiamate_out o = new Chiamate_out();
Prog cpwarnNumChiamata=new Prog(); Prog cpwarnNumChiamata=new Prog();
Prog cpwarnSeriale = new Prog(); Prog cpwarnSeriale = new Prog();
@ -12531,7 +12612,7 @@ namespace ApiPolo.Controllers
{ {
serial_comm = await leggiSerialeByCodCommessaVT(ten2, codice_commessa); serial_comm = await leggiSerialeByCodCommessaVT(ten2, codice_commessa);
} }
tOut.uscita = await inserimentoChiamata2(ten, tecnico, codimp, serialeChiamata, progChiamata, serial_comm,ten2); tOut.uscita = await inserimentoChiamata2(ten, tecnico, codimp, serialeChiamata, progChiamata, serial_comm,ten2, tenConf);
break; break;
default: default:
if(!string.IsNullOrEmpty(codice_commessa)) if(!string.IsNullOrEmpty(codice_commessa))
@ -12539,7 +12620,8 @@ namespace ApiPolo.Controllers
serial_comm = await leggiSerialeByCodCommessa(ten, codice_commessa); serial_comm = await leggiSerialeByCodCommessa(ten, codice_commessa);
} }
tOut.uscita = await inserimentoChiamata2(ten, tecnico, codimp, serialeChiamata, progChiamata, serial_comm,ten); //tOut.uscita = await inserimentoChiamata2(ten, tecnico, codimp, serialeChiamata, progChiamata, serial_comm,ten);
tOut.uscita = await inserimentoChiamata2(tenConf, tecnico, codimp, serialeChiamata, progChiamata, serial_comm, ten, tenConf);
break; break;
} }
@ -12881,7 +12963,7 @@ namespace ApiPolo.Controllers
return new_serial; return new_serial;
} }
private async Task<Chiamate_out> inserimentoChiamata2(string ten, string tecnico, string codimp, string serLetto, string progLetto, string codice_commessa, string ten2) private async Task<Chiamate_out> inserimentoChiamata2(string ten, string tecnico, string codimp, string serLetto, string progLetto, string codice_commessa, string ten2,string tenConf)
{ {
Chiamate_out c = new Chiamate_out(); Chiamate_out c = new Chiamate_out();
@ -12890,6 +12972,12 @@ namespace ApiPolo.Controllers
_chiatable = getChiamateTableByTenant(ten); _chiatable = getChiamateTableByTenant(ten);
ChiamateTable t = new ChiamateTable(); ChiamateTable t = new ChiamateTable();
var tt = new List<ChiamateTable>(); var tt = new List<ChiamateTable>();
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
switch (ten) switch (ten)
{ {
case Clienti.VT: case Clienti.VT:
@ -12898,7 +12986,7 @@ namespace ApiPolo.Controllers
tt = await _chiatable.Where(t => t.chcodazi != null && t.chcodazi.Equals(ten2) && t.chserial != null && t.chserial.Equals(serialeTemplate)).ToListAsync(); tt = await _chiatable.Where(t => t.chcodazi != null && t.chcodazi.Equals(ten2) && t.chserial != null && t.chserial.Equals(serialeTemplate)).ToListAsync();
break; break;
default: default:
_confLette = await readConf(ten); _confLette = await readConf(tenConf);
serialeTemplate = _confLette.seriale_template_chi; serialeTemplate = _confLette.seriale_template_chi;
tt = await _chiatable.Where(t => t.chcodazi != null && t.chcodazi.Equals(ten) && t.chserial != null && t.chserial.Equals(serialeTemplate)).ToListAsync(); tt = await _chiatable.Where(t => t.chcodazi != null && t.chcodazi.Equals(ten) && t.chserial != null && t.chserial.Equals(serialeTemplate)).ToListAsync();
break; break;
@ -13003,12 +13091,17 @@ namespace ApiPolo.Controllers
{ {
string ten = getClaimValueByToken(token, "tenant"); string ten = getClaimValueByToken(token, "tenant");
string ten2 = getClaimValueByToken(token, "tenant2"); string ten2 = getClaimValueByToken(token, "tenant2");
string tenConf = getClaimValueByToken(token, "tenantConfigurazioni");
if (string.IsNullOrEmpty(ten))
{
ten = tenConf;
}
Chiamate_out calltec_out = new Chiamate_out(); Chiamate_out calltec_out = new Chiamate_out();
Chiamate calltec = new Chiamate(); Chiamate calltec = new Chiamate();
if (await checkChiamataPresa(ten, model.seriale_chiamata, TipoRapportino.PresaInCarico,ten2) == 0) if (await checkChiamataPresa(ten, model.seriale_chiamata, TipoRapportino.PresaInCarico,ten2) == 0)
{ {
_confLette = await readConf(ten); _confLette = await readConf(tenConf);
string newSerial = string.Empty; string newSerial = string.Empty;
newSerial = await getSeriale(token); newSerial = await getSeriale(token);
Rapp_New r = await fillRappNewByInput(model, token, newSerial, _confLette); Rapp_New r = await fillRappNewByInput(model, token, newSerial, _confLette);

View File

@ -16,7 +16,7 @@ namespace ApiPolo.Models.Security_dbcontext
/// <summary></summary> /// <summary></summary>
protected override void OnModelCreating(ModelBuilder modelBuilder) protected override void OnModelCreating(ModelBuilder modelBuilder)
{ {
modelBuilder.Entity<Compo_Impia_Table>().ToTable("LABSEMICOMIMP"); modelBuilder.Entity<Compo_Impia_Table>().ToTable("A0001MICOMIMP");
modelBuilder.Entity<Compo_Impia_Table>().HasKey(table => new modelBuilder.Entity<Compo_Impia_Table>().HasKey(table => new
{ {
table.cocodimp, table.cocodimp,

View File

@ -17,7 +17,7 @@ namespace ApiPolo.Models.Security_dbcontext
/// <summary></summary> /// <summary></summary>
protected override void OnModelCreating(ModelBuilder modelBuilder) protected override void OnModelCreating(ModelBuilder modelBuilder)
{ {
modelBuilder.Entity<Magazzini>().ToTable("LABSEMAGAZZIN"); modelBuilder.Entity<Magazzini>().ToTable("A0001MAGAZZIN");
modelBuilder.Entity<Magazzini>().HasKey(table => new modelBuilder.Entity<Magazzini>().HasKey(table => new
{ {
table.mgcodmag table.mgcodmag

View File

@ -16,7 +16,7 @@ namespace ApiPolo.Models.Security_dbcontext
/// <summary></summary> /// <summary></summary>
protected override void OnModelCreating(ModelBuilder modelBuilder) protected override void OnModelCreating(ModelBuilder modelBuilder)
{ {
modelBuilder.Entity<Mag_New>().ToTable("LABSEMAG_NEW"); modelBuilder.Entity<Mag_New>().ToTable("A0001MAG_NEW");
modelBuilder.Entity<Mag_New>().HasKey(table => new modelBuilder.Entity<Mag_New>().HasKey(table => new
{ {
table.seriale_rapportino, table.seriale_rapportino,

View File

@ -11,6 +11,9 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using System.Net; using System.Net;
using Newtonsoft.Json; using Newtonsoft.Json;
using RestSharp;
using System.Net.Http.Headers;
using Nancy.Json;
namespace ApiPolo.Services namespace ApiPolo.Services
{ {
@ -48,6 +51,7 @@ namespace ApiPolo.Services
{ {
//cerco le notifiche da mandare //cerco le notifiche da mandare
List<Notifiche> l = readNotify(); List<Notifiche> l = readNotify();
//List<Notifiche> l=new List<Notifiche> ();
foreach (Notifiche n in l) foreach (Notifiche n in l)
{ {
@ -66,7 +70,9 @@ namespace ApiPolo.Services
List<MexPush> ll = fillMex(l); List<MexPush> ll = fillMex(l);
foreach (MexPush p in ll) foreach (MexPush p in ll)
{ {
PushFCM_Sync(p.token, "Title", p.body); //PushFCM_Sync(p.token, "Title", p.body);
//PushFCM_SyncNew(null, "Title", "test");
GenerateFCM_Auth_SendNotifcn(p.token);
} }
@ -101,7 +107,7 @@ namespace ApiPolo.Services
using (var dbContext = new MARRO_NOTIFICHEDbContext(optionsBuilder.Options)) using (var dbContext = new MARRO_NOTIFICHEDbContext(optionsBuilder.Options))
{ {
var listaNot = dbContext.Notif.Where(t => t.pidattim == null).OrderBy(t=>t.piserial).Take(1).ToList(); var listaNot = dbContext.Notif.Where(t => t.pidattim == null&& t.picodazi!=null && t.picodazi.Equals("MARRO") && t.picodtec!=null && t.picodtec.Equals("ZZZ")).OrderBy(t=>t.piserial).Take(1).ToList();
foreach(Notifiche n in listaNot) foreach(Notifiche n in listaNot)
{ {
@ -184,85 +190,85 @@ namespace ApiPolo.Services
return mess; return mess;
} }
private void pushMex(string title,string body, string tokenDevice) //private void pushMex(string title,string body, string tokenDevice)
{ //{
//string log = string.Empty; // //string log = string.Empty;
StringBuilder sb = new StringBuilder(); // StringBuilder sb = new StringBuilder();
string _title = title +"-"+ getCpccchk(4); // string _title = title +"-"+ getCpccchk(4);
string _body = body + "-" + DateTime.Now.ToString("yyyyMMddHHmmss"); // string _body = body + "-" + DateTime.Now.ToString("yyyyMMddHHmmss");
//_logger.LogInformation("{now} MessagePushJob is working.", DateTime.Now.ToString("T")); // //_logger.LogInformation("{now} MessagePushJob is working.", DateTime.Now.ToString("T"));
try // try
{ // {
if (FirebaseApp.DefaultInstance == null) // if (FirebaseApp.DefaultInstance == null)
{ // {
FirebaseApp.Create(new AppOptions() // FirebaseApp.Create(new AppOptions()
{ // {
Credential = GoogleCredential.FromFile("private_key.json") // Credential = GoogleCredential.FromFile("private_key.json")
}); // });
} // }
//var registrationToken = "dDxUDIC3QcWytp6UeVMDyT:APA91bH9y0N7Iff39Ncv0m_EjJ-hv7YTWYaL_5P37-2dob2PRuArvpfl6kmrk10GO2eJiAQ2tVT3tZX9khUD-NPyfljGbpBn1iUyjbTpL6tDF-0IgJN960v95I4_2SWM_crtSH-ZrXAK"; // //var registrationToken = "dDxUDIC3QcWytp6UeVMDyT:APA91bH9y0N7Iff39Ncv0m_EjJ-hv7YTWYaL_5P37-2dob2PRuArvpfl6kmrk10GO2eJiAQ2tVT3tZX9khUD-NPyfljGbpBn1iUyjbTpL6tDF-0IgJN960v95I4_2SWM_crtSH-ZrXAK";
var registrationToken = tokenDevice; // var registrationToken = tokenDevice;
var message = new Message() // var message = new Message()
{ // {
Apns = new ApnsConfig() // Apns = new ApnsConfig()
{ // {
Aps = new Aps() // Aps = new Aps()
{ // {
//Change this for the sound you would like // //Change this for the sound you would like
Sound = "default" // Sound = "default"
} // }
}, // },
Android = new AndroidConfig() // Android = new AndroidConfig()
{ // {
Notification = new AndroidNotification() // Notification = new AndroidNotification()
{ // {
Sound = "default", // Sound = "default",
Priority = NotificationPriority.MAX // Priority = NotificationPriority.MAX
}, // },
Data = new Dictionary<string, string>() // Data = new Dictionary<string, string>()
{ // {
{ "myData3", "1234522222" } // { "myData3", "1234522222" }
} // }
}, // },
Token = registrationToken, // Token = registrationToken,
Data = new Dictionary<string, string>() // Data = new Dictionary<string, string>()
{ // {
{ "myData", "123457777" } // { "myData", "123457777" }
}, // },
Notification = new Notification() // Notification = new Notification()
{ // {
Title = _title, // Title = _title,
Body = _body // Body = _body
} // }
}; // };
string response = FirebaseMessaging.DefaultInstance.SendAsync(message).Result; // string response = FirebaseMessaging.DefaultInstance.SendAsync(message).Result;
//string response = FirebaseMessaging.DefaultInstance.SendMulticastAsync(msg2send).Result; // //string response = FirebaseMessaging.DefaultInstance.SendMulticastAsync(msg2send).Result;
sb.AppendLine("MessagePushJob OK"); // sb.AppendLine("MessagePushJob OK");
sb.AppendLine("response:" + response); // sb.AppendLine("response:" + response);
sb.AppendLine("title:" + _title); // sb.AppendLine("title:" + _title);
sb.AppendLine("body:" + _body); // sb.AppendLine("body:" + _body);
sb.AppendLine("==================="); // sb.AppendLine("===================");
_logger.LogInformation(sb.ToString()); // _logger.LogInformation(sb.ToString());
} // }
catch (Exception ex) // catch (Exception ex)
{ // {
string errmsg = ex.InnerException != null ? ex.InnerException.Message : ex.Message; // string errmsg = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
_logger.LogInformation(" MessagePushJob KO !!!! :", errmsg); // _logger.LogInformation(" MessagePushJob KO !!!! :", errmsg);
} // }
// return log; // // return log;
} //}
private string PushFCM_Notification(string deviceId, string title, string body) private string PushFCM_Notification(string deviceId, string title, string body)
{ {
@ -405,6 +411,235 @@ namespace ApiPolo.Services
//} //}
} }
#region HTTP V1 API FCM Auth & Send Notification To Mobile //notify FCM Code
public class Data
{
public string body
{
get;
set;
}
public string title
{
get;
set;
}
public string key_1
{
get;
set;
}
public string key_2
{
get;
set;
}
}
public class Message
{
public string token
{
get;
set;
}
public Data data
{
get;
set;
}
public Notification notification
{
get;
set;
}
}
public class Notification
{
public string title
{
get;
set;
}
public string body
{
get;
set;
}
}
public class Root
{
public Message message
{
get;
set;
}
}
public void GenerateFCM_Auth_SendNotifcn(string deviceID)
{
//----------Generating Bearer token for FCM---------------
string fileName = Path.Combine(Directory.GetCurrentDirectory(), "apipolo-952c6-firebase-adminsdk-tioa9-fbb9ba6d66.json") ; //Download from Firebase Console ServiceAccount
string scopes = "https://www.googleapis.com/auth/firebase.messaging";
var bearertoken = ""; // Bearer Token in this variable
using (var stream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
bearertoken = GoogleCredential
.FromStream(stream) // Loads key file
.CreateScoped(scopes) // Gathers scopes requested
.UnderlyingCredential // Gets the credentials
.GetAccessTokenForRequestAsync().Result; // Gets the Access Token
}
_logger.LogInformation("bearertoken: " + bearertoken);
///--------Calling FCM-----------------------------
var clientHandler = new HttpClientHandler();
var client = new HttpClient(clientHandler);
client.BaseAddress = new Uri("https://fcm.googleapis.com/v1/projects/apipolo-952c6/messages:send"); // FCM HttpV1 API
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//client.DefaultRequestHeaders.Accept.Add("Authorization", "Bearer " + bearertoken);
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", bearertoken); // Authorization Token in this variable
//---------------Assigning Of data To Model --------------
Root rootObj = new Root();
rootObj.message = new Message();
//rootObj.message.token = "dfYGNx8lTtuCIJZCDKg4WU:APA91bHVY4tBrXKOvnqJvWA5s2By_8Nt8XyRnadDkuGey0C3E45CoasJUUACVp0PCgNkZcXiDnA2WAfX1jfJXcPgM5L6EJFa4IAOccj_GR0uRBO9gXOcwNkh6dSYWb6fOvGFHhuSEoXz"; //FCM Token id
rootObj.message.token = deviceID;
rootObj.message.data = new Data();
rootObj.message.data.title = "Data Title";
rootObj.message.data.body = "Data Body";
rootObj.message.data.key_1 = "Sample Key";
rootObj.message.data.key_2 = "Sample Key2";
rootObj.message.notification = new Notification();
rootObj.message.notification.title = "Notify Title";
rootObj.message.notification.body = "Notify Body";
//-------------Convert Model To JSON ----------------------
var jsonObj = new JavaScriptSerializer().Serialize(rootObj);
//------------------------Calling Of FCM Notify API-------------------
var data = new StringContent(jsonObj, Encoding.UTF8, "application/json");
data.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var response = client.PostAsync("https://fcm.googleapis.com/v1/projects/apipolo-952c6/messages:send", data).Result; // Calling The FCM httpv1 API
//---------- Deserialize Json Response from API ----------------------------------
var jsonResponse = response.Content.ReadAsStringAsync().Result;
_logger.LogInformation("RESPONSE: "+jsonResponse);
var responseObj = new JavaScriptSerializer().DeserializeObject(jsonResponse);
}
#endregion
//private async Task<string?> getAuthToken()
//{
// var scopes = new string[] { "https://www.googleapis.com/auth/firebase.messaging" };
// var path = Path.Combine(Directory.GetCurrentDirectory(), "apipolo-952c6-firebase-adminsdk-tioa9-fbb9ba6d66.json");
// var cred = GoogleCredential.FromFile(path).CreateScoped(scopes);
// var token = await cred.UnderlyingCredential.GetAccessTokenForRequestAsync();
// return token;
//}
//private (bool, T) SendRequest<T>(string url, object requestBody = null, Method method = Method.Post)
//{
// ServicePointManager.Expect100Continue = true;
// ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
// RestClient client = new(url);
// var request = new RestRequest();
// var token = getAuthToken().Result;
// request.AddHeader("Content-Type", "application/json");
// request.AddHeader("Authorization", $"Bearer {token}");
// request.AddHeader("access_token_auth", "true");
// request.AddHeader("project_id", "SENDER_ID");
// request.Method = Method.Post;
// if (requestBody != null)
// {
// request.AddJsonBody(JsonConvert.SerializeObject(requestBody));
// }
// RestResponse iResponse = client.Execute(request);
// if (iResponse.StatusCode != HttpStatusCode.OK)
// {
// return (false, default(T));
// }
// else
// {
// try
// {
// return (true, JsonConvert.DeserializeObject<T>(iResponse.Content));
// }
// catch (Exception)
// {
// return (false, default(T));
// }
// }
//}
//public NotificationMessageResponse sendMessageToGroup(string notification_key, object notification, object data)
//{
// var requestObj = new
// {
// token = notification_key, //to
// data = data,
// notification = notification,
// apns = new
// {
// payload = new
// {
// aps = new
// {
// alert = notification,
// sound = "default",
// badge = 1,
// data
// }
// }
// }
// };
// var baseUrl = "https://fcm.googleapis.com/v1/projects/{PROJECT_ID}/messages:send";
// var resp = SendRequest<NotificationMessageResponse>(baseUrl, requestObj);
// return resp.Item2;
//}
private class MexPush private class MexPush
{ {
/// <summary>tenant azienda</summary> /// <summary>tenant azienda</summary>

View File

@ -987,7 +987,7 @@ namespace ApiPolo
//gen.SwaggerDoc("v1", new OpenApiInfo { Title = "POLO API WS2016", Version = "v3.3" }); //gen.SwaggerDoc("v1", new OpenApiInfo { Title = "POLO API WS2016", Version = "v3.3" });
DateTime oggi = DateTime.Now; DateTime oggi = DateTime.Now;
string dt = oggi.ToString(); string dt = oggi.ToString();
gen.SwaggerDoc("v1", new OpenApiInfo { Title = "POLO API - v.app 1.24", Version = dt }); gen.SwaggerDoc("v1", new OpenApiInfo { Title = "POLO API - v.app 1.29", Version = dt });
var filePath = Path.Combine(System.AppContext.BaseDirectory, "ApiPolo.xml"); var filePath = Path.Combine(System.AppContext.BaseDirectory, "ApiPolo.xml");
gen.IncludeXmlComments(filePath); gen.IncludeXmlComments(filePath);
@ -996,8 +996,8 @@ namespace ApiPolo
services.AddCronJob<MyCronJob1>(c => services.AddCronJob<MyCronJob1>(c =>
{ {
c.TimeZoneInfo = TimeZoneInfo.Local; c.TimeZoneInfo = TimeZoneInfo.Local;
c.CronExpression = @"*/5 * * * *"; c.CronExpression = @"*/10 * * * *";
//c.CronExpression = @"*/0 * * * *";
//c.CronExpression = @"* * * * *"; //c.CronExpression = @"* * * * *";
}); });

View File

@ -0,0 +1,13 @@
{
"type": "service_account",
"project_id": "apipolo-952c6",
"private_key_id": "fbb9ba6d66d83350f3b982036d8da40580180426",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDaTP2pnqO/zjXd\nPPE3217BcCKlGPd4jemA2YQSHvfPMMFWAxb7JuBbg+vf+POpJrv2hhDbUFncctNI\nUP/esH+bFs2UiR6ApI+pqEBltuUHdcN7mpGKos8YVQFqnQEmECm4LByDxQhe39d9\nK+0r4byllQVtmSJto0e8o1Hg4TzdXz2lQxZHk9OnaPQ18uPOq0CXuAjrqLl1+qUw\nmuighelsIfb9GA0/QHWSHt14sf08Gs9UxILSY1mHR1DXAJJ9emVJWWQMOhX2NoJo\nTycx5lERZsv9FaX+scYY16WFRondeyLoGg2n/WmXsdW1sZMREtaKiTzme+HTVl2n\n9V8PkXVbAgMBAAECggEAAtjQuKSNl586h5qy1fljWeUWON2Y5M7nFGrvgLDmv1kn\nBdl/RomoR7lBjAeeuX5FkHVehPTteP2Yj0Z5P2bHVq3aGERoGE+ibpMD8SBoRwv8\nYn5CY1FAq7vHf1rBQTL9qvYxQzLDdIo/gAYwFSQQxil5Ahopd6mSu4Z3KyiZZj+o\nJBPwskiVaT5h387n2WpjdC9z6Q6TZ6Nzsbu0icl1E6Oek9M3+ps8bng3pUhdwuRq\n2mn+Rd0KuUHFq4KfZGcWVyIaLGmNZ5Pw1WapEkqGDZ+AgBRcX5hO0py3lh15cxxk\nSNEJXNC5eynrN2muywnNFHx4QugTXwQNSW7qxjIXxQKBgQD8yXh0oqC3OH55mLj+\nC2sC6jWU9ofy96HTKN3UmGaLIn7rQTddzUESpD5L7CvKCW97pIe2gryIblw4M3mB\nsS0Oj3CyLRiShm5+iGinMuoYfgaKJdj6vDQmWjLHLURLmuBYma1MAT0eO6nHByDP\n7ihKo1VxKmfLzvOc8athtkrz1wKBgQDdE06140uIkfqyRLuhMI5HBPLS98GuUVU7\nw3+qeS/Y6BN5Nk70WGjV/7Cf4EmVTNEg/bXZeAr+4LOtgMYPGa2Vj2TQAxzycUSo\nYcKLQ5rO73aHEgylKxv2D1qMcEt1E3LbSczXvxJyOy9m8vykp33KhkUmry0rgWj1\nkXNiDDAaHQKBgG35uM4FcqZDjcKZDuJ3VTcPbgBAwSSTV3Pmc5vqMbKWb2EqHkxQ\n396cVf3x4ZskP7wq+GAOwLcaTESnIFWsH04WWZEqzWXx1mB2OBGFtRKywWWY0a1D\n8+w7kZvVtcCuwKvLL/nBEDX2/wX3s+7CTgUqyiFRsZaZkqLVARqhlDpBAoGAeGVq\naT4GxbKScAFkmY0i/uRgBaquDOv4WhrG7SUgfKUu7cU4zHNVbK3aF8eC608xWSEy\npuNsQZBH6gaGVnTqhtfX1DzNx+8NsBHFbCh+J5Jb34Vh45WNnbyQ2IjTX0gfNfOE\nHj7Noe4/i3ZrRpR8ug3TnRSrqdTJP2teBhiTHbUCgYEA5sWu0fGbacwzblmRZ4UM\nmNMAgeNsCL18dQMk22kj1UQvd7H88mjb+i+ojNN+yBIu45JxKuVPofrBRm9FOqxC\ntJYGXW0ujQxqrNIVOxI4zKw9E67tmaxYigTV5PX6A2l/UN2LQzVC7jRJK1CwDnpT\nZv+3uacaBhpqJS0wGCQxaik=\n-----END PRIVATE KEY-----\n",
"client_email": "firebase-adminsdk-tioa9@apipolo-952c6.iam.gserviceaccount.com",
"client_id": "110564565566804338065",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-tioa9%40apipolo-952c6.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}

View File

@ -42,9 +42,10 @@
"SIET2": "Data Source=194.50.74.66;Initial Catalog=R65_SIET;User Id=sa; Password=W1ld1x42;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "SIET2": "Data Source=194.50.74.66;Initial Catalog=R65_SIET;User Id=sa; Password=W1ld1x42;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"PMS": "Data Source=10.0.0.10;Initial Catalog=PMS_DEMO;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "PMS": "Data Source=10.0.0.10;Initial Catalog=PMS_DEMO;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"VIRTUAL_TASK": "Data Source=10.0.0.10;Initial Catalog=VIRTUAL_TASK;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "VIRTUAL_TASK": "Data Source=172.25.30.1;Initial Catalog=VIRTUAL_TASK;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"LIFT_WEB": "Data Source=10.0.0.79;Initial Catalog= AHRW42_LIFT;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "LIFT_WEB": "Data Source=10.0.0.79;Initial Catalog= AHRW42_LIFT;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"SYSCOM": "Data Source=dbsql01.poloinformatico.it;Initial Catalog= AHRW_SYSCOM;User Id=syscom; Password=4@QLHV?cpVYbr+GB;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "SYSCOM": "Data Source=docker1.polo;Initial Catalog= AHRW_SYSCOM;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
/*"SYSCOM": "Data Source=dbsql01.poloinformatico.it;Initial Catalog= AHRW_SYSCOM;User Id=syscom; Password=4@QLHV?cpVYbr+GB;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",*/
"TEDESCO": "Data Source=MARCO_PC\\SQL_2022;Initial Catalog= AHR_TEDESCO;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" "TEDESCO": "Data Source=MARCO_PC\\SQL_2022;Initial Catalog= AHR_TEDESCO;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"

File diff suppressed because it is too large Load Diff

View File

@ -27,6 +27,9 @@
<member name="F:ApiPolo.Controllers.PoloController.TipoRapportino.ChiamataDaCommessa"> <member name="F:ApiPolo.Controllers.PoloController.TipoRapportino.ChiamataDaCommessa">
<summary></summary> <summary></summary>
</member> </member>
<member name="F:ApiPolo.Controllers.PoloController.TipoRapportino.ChiamataCapoTecnico">
<summary></summary>
</member>
<member name="T:ApiPolo.Controllers.PoloController.StatiRisposta"> <member name="T:ApiPolo.Controllers.PoloController.StatiRisposta">
<summary> 200=Ok 500=ErroreInterno 400=OperazioneNonAmmessa</summary> <summary> 200=Ok 500=ErroreInterno 400=OperazioneNonAmmessa</summary>
</member> </member>

View File

@ -42,9 +42,10 @@
"SIET2": "Data Source=194.50.74.66;Initial Catalog=R65_SIET;User Id=sa; Password=W1ld1x42;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "SIET2": "Data Source=194.50.74.66;Initial Catalog=R65_SIET;User Id=sa; Password=W1ld1x42;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"PMS": "Data Source=10.0.0.10;Initial Catalog=PMS_DEMO;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "PMS": "Data Source=10.0.0.10;Initial Catalog=PMS_DEMO;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"VIRTUAL_TASK": "Data Source=10.0.0.10;Initial Catalog=VIRTUAL_TASK;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "VIRTUAL_TASK": "Data Source=172.25.30.1;Initial Catalog=VIRTUAL_TASK;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"LIFT_WEB": "Data Source=10.0.0.79;Initial Catalog= AHRW42_LIFT;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "LIFT_WEB": "Data Source=10.0.0.79;Initial Catalog= AHRW42_LIFT;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"SYSCOM": "Data Source=dbsql01.poloinformatico.it;Initial Catalog= AHRW_SYSCOM;User Id=syscom; Password=4@QLHV?cpVYbr+GB;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "SYSCOM": "Data Source=docker1.polo;Initial Catalog= AHRW_SYSCOM;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
/*"SYSCOM": "Data Source=dbsql01.poloinformatico.it;Initial Catalog= AHRW_SYSCOM;User Id=syscom; Password=4@QLHV?cpVYbr+GB;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",*/
"TEDESCO": "Data Source=MARCO_PC\\SQL_2022;Initial Catalog= AHR_TEDESCO;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" "TEDESCO": "Data Source=MARCO_PC\\SQL_2022;Initial Catalog= AHR_TEDESCO;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"

View File

@ -49,6 +49,14 @@
"target": "Package", "target": "Package",
"version": "[2.3.0, )" "version": "[2.3.0, )"
}, },
"Google.Apis.Auth": {
"target": "Package",
"version": "[1.68.0, )"
},
"Google.Apis.FirebaseCloudMessaging.v1": {
"target": "Package",
"version": "[1.68.0.3603, )"
},
"Microsoft.AspNet.Mvc": { "Microsoft.AspNet.Mvc": {
"target": "Package", "target": "Package",
"version": "[5.2.9, )" "version": "[5.2.9, )"
@ -71,10 +79,18 @@
"target": "Package", "target": "Package",
"version": "[6.0.5, )" "version": "[6.0.5, )"
}, },
"Nancy": {
"target": "Package",
"version": "[2.0.0, )"
},
"Newtonsoft.Json": { "Newtonsoft.Json": {
"target": "Package", "target": "Package",
"version": "[13.0.3, )" "version": "[13.0.3, )"
}, },
"RestSharp": {
"target": "Package",
"version": "[112.1.0, )"
},
"SSH.NET": { "SSH.NET": {
"target": "Package", "target": "Package",
"version": "[2020.0.2, )" "version": "[2020.0.2, )"

View File

@ -1 +1 @@
60cd7ec7ffaa07ca4d01a0dee82ac1af836f81c6 616a1a71aa3d79620acb4ca82e7948d202811a3f

View File

@ -110,7 +110,6 @@ C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\FirebaseA
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Api.Gax.dll C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Api.Gax.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Api.Gax.Rest.dll C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Api.Gax.Rest.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Apis.dll C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Apis.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Apis.Auth.PlatformServices.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Apis.Auth.dll C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Apis.Auth.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Apis.Core.dll C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Apis.Core.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Humanizer.dll C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Humanizer.dll
@ -192,3 +191,13 @@ C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\obj\Release\net6.0\ApiPolo.x
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\obj\Release\net6.0\ApiPolo.pdb C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\obj\Release\net6.0\ApiPolo.pdb
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\obj\Release\net6.0\ApiPolo.genruntimeconfig.cache C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\obj\Release\net6.0\ApiPolo.genruntimeconfig.cache
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\obj\Release\net6.0\ref\ApiPolo.dll C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\obj\Release\net6.0\ref\ApiPolo.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\apipolo-952c6-firebase-adminsdk-tioa9-fbb9ba6d66.json
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Google.Apis.FirebaseCloudMessaging.v1.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Microsoft.DotNet.PlatformAbstractions.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Microsoft.Extensions.DependencyModel.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Microsoft.Extensions.PlatformAbstractions.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\Nancy.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\RestSharp.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\System.CodeDom.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\System.Management.dll
C:\Users\audif\source\repos\ApiManutenzioni\ApiPolo\bin\Release\net6.0\runtimes\win\lib\net6.0\System.Management.dll

View File

@ -27,6 +27,9 @@
<member name="F:ApiPolo.Controllers.PoloController.TipoRapportino.ChiamataDaCommessa"> <member name="F:ApiPolo.Controllers.PoloController.TipoRapportino.ChiamataDaCommessa">
<summary></summary> <summary></summary>
</member> </member>
<member name="F:ApiPolo.Controllers.PoloController.TipoRapportino.ChiamataCapoTecnico">
<summary></summary>
</member>
<member name="T:ApiPolo.Controllers.PoloController.StatiRisposta"> <member name="T:ApiPolo.Controllers.PoloController.StatiRisposta">
<summary> 200=Ok 500=ErroreInterno 400=OperazioneNonAmmessa</summary> <summary> 200=Ok 500=ErroreInterno 400=OperazioneNonAmmessa</summary>
</member> </member>

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "bDTOBvJ7l0eePJV2P+K8bglSKFhj7Slb1uYsDOfS6h1YkirrGTcyrqEuu/pt1pe2QWFTVN4uD8CoKBdh7wmikw==", "dgSpecHash": "1HV4PVgaZV/pj787zy4CCZZJLujSG44NA79zD1J0LHjsQgf5Hd8eaCFVbQTlRGn2ofDn3jn/slyXP2VVfU9uqA==",
"success": true, "success": true,
"projectFilePath": "C:\\Users\\audif\\source\\repos\\ApiManutenzioni\\ApiPolo\\ApiPolo.csproj", "projectFilePath": "C:\\Users\\audif\\source\\repos\\ApiManutenzioni\\ApiPolo\\ApiPolo.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
@ -8,9 +8,10 @@
"C:\\Users\\audif\\.nuget\\packages\\firebaseadmin\\2.3.0\\firebaseadmin.2.3.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\firebaseadmin\\2.3.0\\firebaseadmin.2.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\google.api.gax\\3.2.0\\google.api.gax.3.2.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\google.api.gax\\3.2.0\\google.api.gax.3.2.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\google.api.gax.rest\\3.2.0\\google.api.gax.rest.3.2.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\google.api.gax.rest\\3.2.0\\google.api.gax.rest.3.2.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\google.apis\\1.49.0\\google.apis.1.49.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\google.apis\\1.68.0\\google.apis.1.68.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\google.apis.auth\\1.49.0\\google.apis.auth.1.49.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\google.apis.auth\\1.68.0\\google.apis.auth.1.68.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\google.apis.core\\1.49.0\\google.apis.core.1.49.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\google.apis.core\\1.68.0\\google.apis.core.1.68.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\google.apis.firebasecloudmessaging.v1\\1.68.0.3603\\google.apis.firebasecloudmessaging.v1.1.68.0.3603.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\humanizer.core\\2.8.26\\humanizer.core.2.8.26.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\humanizer.core\\2.8.26\\humanizer.core.2.8.26.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.aspnet.mvc\\5.2.9\\microsoft.aspnet.mvc.5.2.9.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.aspnet.mvc\\5.2.9\\microsoft.aspnet.mvc.5.2.9.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.aspnet.razor\\3.2.9\\microsoft.aspnet.razor.3.2.9.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.aspnet.razor\\3.2.9\\microsoft.aspnet.razor.3.2.9.nupkg.sha512",
@ -21,6 +22,7 @@
"C:\\Users\\audif\\.nuget\\packages\\microsoft.csharp\\4.5.0\\microsoft.csharp.4.5.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.csharp\\4.5.0\\microsoft.csharp.4.5.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.data.sqlclient\\2.1.4\\microsoft.data.sqlclient.2.1.4.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.data.sqlclient\\2.1.4\\microsoft.data.sqlclient.2.1.4.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.data.sqlclient.sni.runtime\\2.1.1\\microsoft.data.sqlclient.sni.runtime.2.1.1.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.data.sqlclient.sni.runtime\\2.1.1\\microsoft.data.sqlclient.sni.runtime.2.1.1.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.dotnet.platformabstractions\\2.0.4\\microsoft.dotnet.platformabstractions.2.0.4.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.entityframeworkcore\\6.0.5\\microsoft.entityframeworkcore.6.0.5.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.entityframeworkcore\\6.0.5\\microsoft.entityframeworkcore.6.0.5.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\6.0.5\\microsoft.entityframeworkcore.abstractions.6.0.5.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\6.0.5\\microsoft.entityframeworkcore.abstractions.6.0.5.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\6.0.5\\microsoft.entityframeworkcore.analyzers.6.0.5.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\6.0.5\\microsoft.entityframeworkcore.analyzers.6.0.5.nupkg.sha512",
@ -34,10 +36,12 @@
"C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\6.0.0\\microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\6.0.0\\microsoft.extensions.configuration.abstractions.6.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\6.0.0\\microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\6.0.0\\microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\6.0.0\\microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\6.0.0\\microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.dependencymodel\\2.0.4\\microsoft.extensions.dependencymodel.2.0.4.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.features\\6.0.5\\microsoft.extensions.features.6.0.5.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.features\\6.0.5\\microsoft.extensions.features.6.0.5.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.logging\\6.0.0\\microsoft.extensions.logging.6.0.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.logging\\6.0.0\\microsoft.extensions.logging.6.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\6.0.0\\microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\6.0.0\\microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.options\\6.0.0\\microsoft.extensions.options.6.0.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.options\\6.0.0\\microsoft.extensions.options.6.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.platformabstractions\\1.1.0\\microsoft.extensions.platformabstractions.1.1.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.primitives\\6.0.0\\microsoft.extensions.primitives.6.0.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.extensions.primitives\\6.0.0\\microsoft.extensions.primitives.6.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.identity.client\\4.21.1\\microsoft.identity.client.4.21.1.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.identity.client\\4.21.1\\microsoft.identity.client.4.21.1.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\6.8.0\\microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\6.8.0\\microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512",
@ -46,33 +50,118 @@
"C:\\Users\\audif\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\6.8.0\\microsoft.identitymodel.protocols.openidconnect.6.8.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\6.8.0\\microsoft.identitymodel.protocols.openidconnect.6.8.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.identitymodel.tokens\\6.8.0\\microsoft.identitymodel.tokens.6.8.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.identitymodel.tokens\\6.8.0\\microsoft.identitymodel.tokens.6.8.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.netcore.platforms\\3.1.0\\microsoft.netcore.platforms.3.1.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.netcore.platforms\\3.1.0\\microsoft.netcore.platforms.3.1.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.openapi\\1.2.3\\microsoft.openapi.1.2.3.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.openapi\\1.2.3\\microsoft.openapi.1.2.3.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.web.infrastructure\\1.0.0\\microsoft.web.infrastructure.1.0.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.web.infrastructure\\1.0.0\\microsoft.web.infrastructure.1.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.win32.primitives\\4.3.0\\microsoft.win32.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.win32.registry\\4.7.0\\microsoft.win32.registry.4.7.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.win32.registry\\4.7.0\\microsoft.win32.registry.4.7.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\microsoft.win32.systemevents\\4.7.0\\microsoft.win32.systemevents.4.7.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\microsoft.win32.systemevents\\4.7.0\\microsoft.win32.systemevents.4.7.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\nancy\\2.0.0\\nancy.2.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\netstandard.library\\1.6.1\\netstandard.library.1.6.1.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\restsharp\\112.1.0\\restsharp.112.1.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.native.system\\4.3.0\\runtime.native.system.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.native.system.io.compression\\4.3.0\\runtime.native.system.io.compression.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.native.system.net.http\\4.3.0\\runtime.native.system.net.http.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.native.system.security.cryptography.apple\\4.3.0\\runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple\\4.3.0\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\ssh.net\\2020.0.2\\ssh.net.2020.0.2.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\ssh.net\\2020.0.2\\ssh.net.2020.0.2.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\sshnet.security.cryptography\\1.3.0\\sshnet.security.cryptography.1.3.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\sshnet.security.cryptography\\1.3.0\\sshnet.security.cryptography.1.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\swashbuckle.aspnetcore\\6.3.1\\swashbuckle.aspnetcore.6.3.1.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\swashbuckle.aspnetcore\\6.3.1\\swashbuckle.aspnetcore.6.3.1.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\6.3.1\\swashbuckle.aspnetcore.swagger.6.3.1.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\6.3.1\\swashbuckle.aspnetcore.swagger.6.3.1.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\6.3.1\\swashbuckle.aspnetcore.swaggergen.6.3.1.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\6.3.1\\swashbuckle.aspnetcore.swaggergen.6.3.1.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\6.3.1\\swashbuckle.aspnetcore.swaggerui.6.3.1.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\6.3.1\\swashbuckle.aspnetcore.swaggerui.6.3.1.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.appcontext\\4.3.0\\system.appcontext.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.buffers\\4.3.0\\system.buffers.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.codedom\\7.0.0\\system.codedom.7.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.collections.concurrent\\4.3.0\\system.collections.concurrent.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.collections.immutable\\6.0.0\\system.collections.immutable.6.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.collections.nongeneric\\4.3.0\\system.collections.nongeneric.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.collections.specialized\\4.3.0\\system.collections.specialized.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.componentmodel\\4.3.0\\system.componentmodel.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.componentmodel.primitives\\4.3.0\\system.componentmodel.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.componentmodel.typeconverter\\4.3.0\\system.componentmodel.typeconverter.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.configuration.configurationmanager\\4.7.0\\system.configuration.configurationmanager.4.7.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.configuration.configurationmanager\\4.7.0\\system.configuration.configurationmanager.4.7.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.console\\4.3.0\\system.console.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.diagnostics.diagnosticsource\\6.0.0\\system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.diagnostics.diagnosticsource\\6.0.0\\system.diagnostics.diagnosticsource.6.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.diagnostics.tools\\4.3.0\\system.diagnostics.tools.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.diagnostics.tracing\\4.3.0\\system.diagnostics.tracing.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.directoryservices.protocols\\6.0.1\\system.directoryservices.protocols.6.0.1.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.directoryservices.protocols\\6.0.1\\system.directoryservices.protocols.6.0.1.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.drawing.common\\4.7.0\\system.drawing.common.4.7.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.drawing.common\\4.7.0\\system.drawing.common.4.7.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.dynamic.runtime\\4.0.11\\system.dynamic.runtime.4.0.11.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.globalization.calendars\\4.3.0\\system.globalization.calendars.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.globalization.extensions\\4.3.0\\system.globalization.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.identitymodel.tokens.jwt\\6.8.0\\system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.identitymodel.tokens.jwt\\6.8.0\\system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.io.compression\\4.3.0\\system.io.compression.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.io.compression.zipfile\\4.3.0\\system.io.compression.zipfile.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.io.filesystem\\4.3.0\\system.io.filesystem.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.io.filesystem.primitives\\4.3.0\\system.io.filesystem.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.io.pipelines\\6.0.3\\system.io.pipelines.6.0.3.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.linq\\4.3.0\\system.linq.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.linq.expressions\\4.3.0\\system.linq.expressions.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.management\\7.0.2\\system.management.7.0.2.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.net.http\\4.3.0\\system.net.http.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.net.nameresolution\\4.3.0\\system.net.nameresolution.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.net.primitives\\4.3.0\\system.net.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.net.sockets\\4.3.0\\system.net.sockets.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.objectmodel\\4.3.0\\system.objectmodel.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.reflection.emit\\4.3.0\\system.reflection.emit.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.reflection.emit.ilgeneration\\4.3.0\\system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.reflection.emit.lightweight\\4.3.0\\system.reflection.emit.lightweight.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.reflection.extensions\\4.3.0\\system.reflection.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.reflection.typeextensions\\4.3.0\\system.reflection.typeextensions.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.runtime.caching\\4.7.0\\system.runtime.caching.4.7.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.runtime.caching\\4.7.0\\system.runtime.caching.4.7.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.runtime.handles\\4.3.0\\system.runtime.handles.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.runtime.interopservices\\4.3.0\\system.runtime.interopservices.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.runtime.interopservices.runtimeinformation\\4.3.0\\system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.runtime.numerics\\4.3.0\\system.runtime.numerics.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.accesscontrol\\4.7.0\\system.security.accesscontrol.4.7.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.security.accesscontrol\\4.7.0\\system.security.accesscontrol.4.7.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.claims\\4.3.0\\system.security.claims.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.cryptography.algorithms\\4.3.0\\system.security.cryptography.algorithms.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.cryptography.cng\\4.5.0\\system.security.cryptography.cng.4.5.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.security.cryptography.cng\\4.5.0\\system.security.cryptography.cng.4.5.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.cryptography.csp\\4.3.0\\system.security.cryptography.csp.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.cryptography.encoding\\4.3.0\\system.security.cryptography.encoding.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.cryptography.openssl\\4.3.0\\system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.cryptography.primitives\\4.3.0\\system.security.cryptography.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.cryptography.protecteddata\\4.7.0\\system.security.cryptography.protecteddata.4.7.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.security.cryptography.protecteddata\\4.7.0\\system.security.cryptography.protecteddata.4.7.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.cryptography.x509certificates\\4.3.0\\system.security.cryptography.x509certificates.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.permissions\\4.7.0\\system.security.permissions.4.7.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.security.permissions\\4.7.0\\system.security.permissions.4.7.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.principal\\4.3.0\\system.security.principal.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.security.principal.windows\\4.7.0\\system.security.principal.windows.4.7.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.security.principal.windows\\4.7.0\\system.security.principal.windows.4.7.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.text.encoding.codepages\\4.7.0\\system.text.encoding.codepages.4.7.0.nupkg.sha512", "C:\\Users\\audif\\.nuget\\packages\\system.text.encoding.codepages\\4.7.0\\system.text.encoding.codepages.4.7.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.windows.extensions\\4.7.0\\system.windows.extensions.4.7.0.nupkg.sha512" "C:\\Users\\audif\\.nuget\\packages\\system.text.encoding.extensions\\4.3.0\\system.text.encoding.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.text.regularexpressions\\4.3.0\\system.text.regularexpressions.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.threading.tasks.extensions\\4.3.0\\system.threading.tasks.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.threading.timer\\4.3.0\\system.threading.timer.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.windows.extensions\\4.7.0\\system.windows.extensions.4.7.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.xml.readerwriter\\4.3.0\\system.xml.readerwriter.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.xml.xdocument\\4.3.0\\system.xml.xdocument.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.xml.xmldocument\\4.3.0\\system.xml.xmldocument.4.3.0.nupkg.sha512",
"C:\\Users\\audif\\.nuget\\packages\\system.xml.xmlserializer\\4.3.0\\system.xml.xmlserializer.4.3.0.nupkg.sha512"
], ],
"logs": [ "logs": [
{ {