diff --git a/ApiPolo/Controllers/PoloController.cs b/ApiPolo/Controllers/PoloController.cs index f513768..a484ff3 100644 --- a/ApiPolo/Controllers/PoloController.cs +++ b/ApiPolo/Controllers/PoloController.cs @@ -409,9 +409,7 @@ namespace ApiPolo.Controllers _tecs = _VT_tec.Tecnici; return _tecs; - } - - + } private DbSet getChiamateByTenant(string tenant) { DbSet? _calls; @@ -426,252 +424,6 @@ namespace ApiPolo.Controllers _chiu = _VT_chiu.Chiu; return _chiu; } - - //private DbSet getManutenzioniByTenant(string tenant) - //{ - // DbSet? _mans; - - // switch (tenant) - // { - // case Clienti.Ferrari: - // _mans = _Ferra_mp.Manutenzioni; - // break; - // case Clienti.Marrocco: - // _mans = _Marro_mp.Manutenzioni; - // break; - // case Clienti.Sicilia: - // _mans = _Sicilia_mp.Manutenzioni; - // break; - // case Clienti.Discovery: - // _mans = _Disco_mp.Manutenzioni; - // break; - // case Clienti.Sarom: - // _mans = _Sarom_mp.Manutenzioni; - // break; - // case Clienti.Gitoga: - // _mans = _Gitoga_mp.Manutenzioni; - // break; - // case Clienti.Lifta: - // _mans = _Lifta_mp.Manutenzioni; - // break; - // case Clienti.Siet: - // _mans = _Siet_mp.Manutenzioni; - // break; - // case Clienti.PMS: - // _mans = _PMS_mp.Manutenzioni; - // break; - // case Clienti.LW: - // _mans = _LW_mp.Manutenzioni; - // break; - // case Clienti.Tedesco: - // _mans = _Tedes_mp.Manutenzioni; - // break; - // case Clienti.Syscom: - // _mans = _Sys_mp.Manutenzioni; - // break; - // default: - // _mans = null; - // break; - // } - // return _mans; - //} - - //private DbSet getPreseByTenant(string tenant) - //{ - // DbSet? _pre; - - // switch (tenant) - // { - // case Clienti.Ferrari: - // _pre = _Ferra_prese.Prese; - // break; - // case Clienti.Marrocco: - // _pre = _Marro_prese.Prese; - // break; - // case Clienti.Sicilia: - // _pre = _Sicilia_prese.Prese; - // break; - // case Clienti.Discovery: - // _pre = _Disco_prese.Prese; - // break; - // case Clienti.Sarom: - // _pre = _Sarom_prese.Prese; - // break; - // case Clienti.Gitoga: - // _pre = _Gitoga_prese.Prese; - // break; - // case Clienti.Lifta: - // _pre = _Lifta_prese.Prese; - // break; - // case Clienti.Siet: - // _pre = _Siet_prese.Prese; - // break; - // case Clienti.PMS: - // _pre = _PMS_prese.Prese; - // break; - // case Clienti.LW: - // _pre = _LW_prese.Prese; - // break; - // case Clienti.Tedesco: - // _pre = _Tedes_prese.Prese; - // break; - // case Clienti.Syscom: - // _pre = _Sys_prese.Prese; - // break; - // default: - // _pre = null; - // break; - // } - // return _pre; - //} - - //private DbSet getSto_RappByTenant(string tenant) - //{ - // DbSet? _sto; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _sto = _Sicilia_sto_rapp.StoRapp; - // break; - // case Clienti.Discovery: - // _sto = _Disco_sto_rapp.StoRapp; - // break; - // case Clienti.Marrocco: - // _sto = _Marro_sto_rapp.StoRapp; - // break; - // case Clienti.Ferrari: - // _sto = _Ferra_sto_rapp.StoRapp; - // break; - // case Clienti.Sarom: - // _sto = _Sarom_sto_rapp.StoRapp; - // break; - // case Clienti.Gitoga: - // _sto = _Gitoga_sto_rapp.StoRapp; - // break; - // case Clienti.Lifta: - // _sto = _Lifta_sto_rapp.StoRapp; - // break; - // case Clienti.Siet: - // _sto = _Siet_sto_rapp.StoRapp; - // break; - // case Clienti.PMS: - // _sto = _PMS_sto_rapp.StoRapp; - // break; - // case Clienti.LW: - // _sto = _LW_sto_rapp.StoRapp; - // break; - // case Clienti.Tedesco: - // _sto = _Tedes_sto_rapp.StoRapp; - // break; - // case Clienti.Syscom: - // _sto = _Sys_sto_rapp.StoRapp; - // break; - // default: - // _sto = null; - // break; - // } - // return _sto; - //} - - //private DbSet getClientiByTenant(string tenant) - //{ - // DbSet? _cli; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _cli = _Sicilia_clienti.Clienti; - // break; - // case Clienti.Discovery: - // _cli = _Disco_clienti.Clienti; - // break; - // case Clienti.Ferrari: - // _cli = _Ferra_clienti.Clienti; - // break; - // case Clienti.Marrocco: - // _cli = _Marro_clienti.Clienti; - // break; - // case Clienti.Sarom: - // _cli = _Sarom_clienti.Clienti; - // break; - // case Clienti.Gitoga: - // _cli = _Gitoga_clienti.Clienti; - // break; - // case Clienti.Lifta: - // _cli = _Lifta_clienti.Clienti; - // break; - // case Clienti.Siet: - // _cli = _Siet_clienti.Clienti; - // break; - // case Clienti.PMS: - // _cli = _PMS_clienti.Clienti; - // break; - // case Clienti.LW: - // _cli = _LW_clienti.Clienti; - // break; - // case Clienti.Tedesco: - // _cli = _Tedes_clienti.Clienti; - // break; - // case Clienti.Syscom: - // _cli = _Sys_clienti.Clienti; - // break; - // default: - // _cli = null; - // break; - // } - // return _cli; - //} - - //private DbSet getCausaliRappByTenant(string tenant) - //{ - // DbSet? _cau; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _cau = _Sicilia_caus_rapp.Causali; - // break; - // case Clienti.Discovery: - // _cau = _Disco_caus_rapp.Causali; - // break; - // case Clienti.Ferrari: - // _cau = _Ferra_caus_rapp.Causali; - // break; - // case Clienti.Marrocco: - // _cau = _Marro_caus_rapp.Causali; - // break; - // case Clienti.Sarom: - // _cau = _Sarom_caus_rapp.Causali; - // break; - // case Clienti.Gitoga: - // _cau = _Gitoga_caus_rapp.Causali; - // break; - // case Clienti.Lifta: - // _cau = _Lifta_caus_rapp.Causali; - // break; - // case Clienti.Siet: - // _cau = _Siet_caus_rapp.Causali; - // break; - // case Clienti.PMS: - // _cau = _PMS_caus_rapp.Causali; - // break; - // case Clienti.LW: - // _cau = _LW_caus_rapp.Causali; - // break; - // case Clienti.Tedesco: - // _cau = _Tedes_caus_rapp.Causali; - // break; - // case Clienti.Syscom: - // _cau = _Sys_caus_rapp.Causali; - // break; - // default: - // _cau = null; - // break; - // } - // return _cau; - //} - private DbSet getVTCodiciSegnalaz(string tenant) { DbSet? _codSeg; @@ -684,322 +436,6 @@ namespace ApiPolo.Controllers } return _codSeg = null; } - - //private DbSet getPagamentiByTenant(string tenant) - //{ - // DbSet? _pag; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _pag = _Sicilia_pagam.Pagamenti; - // break; - // case Clienti.Discovery: - // _pag = _Disco_pagam.Pagamenti; - // break; - // case Clienti.Ferrari: - // _pag = _Ferra_pagam.Pagamenti; - // break; - // case Clienti.Marrocco: - // _pag = _Marro_pagam.Pagamenti; - // break; - // case Clienti.Sarom: - // _pag = _Sarom_pagam.Pagamenti; - // break; - // case Clienti.Gitoga: - // _pag = _Gitoga_pagam.Pagamenti; - // break; - // case Clienti.Lifta: - // _pag = _Lifta_pagam.Pagamenti; - // break; - // case Clienti.Siet: - // _pag = _Siet_pagam.Pagamenti; - // break; - // case Clienti.PMS: - // _pag = _PMS_pagam.Pagamenti; - // break; - // case Clienti.LW: - // _pag = _LW_pagam.Pagamenti; - // break; - // case Clienti.Tedesco: - // _pag = _Tedes_pagam.Pagamenti; - // break; - // case Clienti.Syscom: - // _pag = _Sys_pagam.Pagamenti; - // break; - // default: - // _pag = null; - // break; - // } - // return _pag; - //} - - //private DbSet getSaldiartByTenant(string tenant) - //{ - // DbSet? _sa; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _sa = _Sicilia_saldi.Saldi; - // break; - // case Clienti.Discovery: - // _sa = _Disco_saldi.Saldi; - // break; - // case Clienti.Siet : - // _sa = _Siet_saldi.Saldi; - // break; - // case Clienti.PMS: - // _sa = _PMS_saldi.Saldi; - // break; - // case Clienti.LW: - // _sa = _LW_saldi.Saldi; - // break; - // case Clienti.Tedesco: - // _sa = _Tedes_saldi.Saldi; - // break; - // case Clienti.Syscom: - // _sa = _Sys_saldi.Saldi; - // break; - // default: - // _sa = null; - // break; - // } - // return _sa; - //} - - //private DbSet getComponentiByTenant(string tenant) - //{ - // DbSet? _compon; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _compon = _Sicilia_comp.Componen; - // break; - // case Clienti.Discovery: - // _compon = _Disco_comp.Componen; - // break; - // case Clienti.Siet: - // _compon = _Siet_comp.Componen; - // break; - // case Clienti.PMS: - // _compon = _PMS_comp.Componen; - // break; - // case Clienti.LW: - // _compon = _LW_comp.Componen; - // break; - // case Clienti.Tedesco: - // _compon = _Tedes_comp.Componen; - // break; - // case Clienti.Syscom: - // _compon = _Sys_comp.Componen; - // break; - // default: - // _compon = null; - // break; - // } - // return _compon; - //} - - //private DbSet getComponentiTableByTenant(string tenant) - //{ - // DbSet? _compon; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _compon = _Sicilia_compTable.Componen; - // break; - // case Clienti.Discovery: - // _compon = _Disco_compTable.Componen; - // break; - // case Clienti.Siet: - // _compon = _Siet_compTable.Componen; - // break; - // case Clienti.PMS: - // _compon = _PMS_compTable.Componen; - // break; - // case Clienti.LW: - // _compon = _LW_compTable.Componen; - // break; - // case Clienti.Tedesco: - // _compon = _Tedes_compTable.Componen; - // break; - // case Clienti.Syscom: - // _compon = _Sys_compTable.Componen; - // break; - // default: - // _compon = null; - // break; - // } - // return _compon; - //} - - //private DbSet getMagazziniByTenant(string tenant) - //{ - // DbSet? _maga; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _maga = _Sicilia_magazzini.Magaz; - // break; - // case Clienti.Discovery: - // _maga = _Disco_magazzini.Magaz; - // break; - // case Clienti.Siet: - // _maga = _Siet_magazzini.Magaz; - // break; - // case Clienti.PMS: - // _maga = _PMS_magazzini.Magaz; - // break; - // case Clienti.LW: - // _maga = _LW_magazzini.Magaz; - // break; - // case Clienti.Tedesco: - // _maga = _Tedes_magazzini.Magaz; - // break; - // case Clienti.Syscom: - // _maga = _Sys_magazzini.Magaz; - // break; - // default: - // _maga = null; - // break; - // } - // return _maga; - //} - - //private DbSet getMag_NewByTenant(string tenant) - //{ - // DbSet? _ma; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _ma = _Sicilia_mag.Mag; - // break; - // case Clienti.Discovery: - // _ma = _Disco_mag.Mag; - // break; - // case Clienti.Siet: - // _ma = _Siet_mag.Mag; - // break; - // case Clienti.PMS: - // _ma = _PMS_mag.Mag; - // break; - // case Clienti.LW: - // _ma = _LW_mag.Mag; - // break; - // case Clienti.Tedesco: - // _ma = _Tedes_mag.Mag; - // break; - // case Clienti.Syscom: - // _ma = _Sys_mag.Mag; - // break; - // default: - // _ma = null; - // break; - // } - // return _ma; - //} - //private DbSet getImpiantiByTenant(string tenant) - //{ - // DbSet? _imp; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _imp = _Sicilia_impianti.Impia; - // break; - // case Clienti.Discovery: - // _imp = _Disco_impianti.Impia; - // break; - // case Clienti.Marrocco: - // _imp = _Marro_impianti.Impia; - // break; - // case Clienti.Ferrari: - // _imp = null; - // break; - // case Clienti.Sarom: - // _imp = null; - // break; - // case Clienti.Gitoga: - // _imp = _Gitoga_impianti.Impia; - // break; - // case Clienti.Lifta: - // _imp = _Lifta_impianti.Impia; - // break; - // case Clienti.Siet: - // _imp = _Siet_impianti.Impia; - // break; - // case Clienti.PMS: - // _imp = _PMS_impianti.Impia; - // break; - // case Clienti.LW: - // _imp = _LW_impianti.Impia; - // break; - // case Clienti.Tedesco: - // _imp = _Tedes_impianti.Impia; - // break; - // case Clienti.Syscom: - // _imp = _Sys_impianti.Impia; - // break; - // default: - // _imp = null; - // break; - // } - // return _imp; - //} - - //private DbSet getCommesseByTenant(string tenant) - //{ - // DbSet? _commesse; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _commesse = _Sicilia_comm.Commesse; - // break; - // case Clienti.Discovery: - // _commesse = null; - // break; - // case Clienti.Ferrari: - // _commesse = _Ferra_comm.Commesse; - // break; - // case Clienti.Sinergo: - // _commesse = _Sinergo_comm.Commesse; - // break; - // case Clienti.Marrocco: - // _commesse = _Marro_comm.Commesse; - // break; - // case Clienti.Gitoga: - // _commesse = _Gitoga_comm.Commesse; - // break; - // case Clienti.Lifta: - // _commesse = _Lifta_comm.Commesse; - // break; - // case Clienti.Siet: - // _commesse = _Siet_comm.Commesse; - // break; - // case Clienti.PMS: - // _commesse = _PMS_comm.Commesse; - // break; - // case Clienti.LW: - // _commesse = _LW_comm.Commesse; - // break; - // case Clienti.Tedesco: - // _commesse = _Tedes_comm.Commesse; - // break; - // case Clienti.Syscom: - // _commesse = _Sys_comm.Commesse; - // break; - // default: - // _commesse = null; - // break; - // } - // return _commesse; - //} private DbSet getTimbratureByTenant(string tenant) { DbSet? _timbrature; @@ -1008,260 +444,12 @@ namespace ApiPolo.Controllers return _timbrature; } - //private DbSet getStoricoImpiantoByTenant(string tenant) - //{ - // DbSet? _sto; - - // switch (tenant) - // { - // case Clienti.Sicilia: - // _sto = _Sicilia_sto_imp.StoImp; - // break; - // case Clienti.Siet: - // _sto = _Siet_sto_imp.StoImp; - // break; - // case Clienti.PMS : - // _sto = _PMS_sto_imp.StoImp; - // break; - // case Clienti.LW: - // _sto = _LW_sto_imp.StoImp; - // break; - // case Clienti.Tedesco: - // _sto = _Tedes_sto_imp.StoImp; - // break; - // case Clienti.Syscom: - // _sto = _Sys_sto_imp.StoImp; - // break; - // default: - // _sto = null; - // break; - // } - // return _sto; - //} - - //private DbSet getAziendeRifByTenant(string tenant) - //{ - // DbSet? _azi; - - // switch (tenant) - // { - // case Clienti.Discovery: - // _azi = _Disco_azi_coll.Azi; - // break; - // case Clienti.Siet: - // _azi = _Siet_azi_coll.Azi; - // break; - // case Clienti.PMS: - // _azi = _PMS_azi_coll.Azi; - // break; - // case Clienti.LW: - // _azi = _LW_azi_coll.Azi; - // break; - // case Clienti.Tedesco: - // _azi = _Tedes_azi_coll.Azi; - // break; - // default: - // _azi = null; - // break; - // } - // return _azi; - //} - - //private DbSet getSostituzioneByTenant(string tenant) - //{ - // DbSet? _sost; - - // switch (tenant) - // { - // case Clienti.Marrocco: - // _sost = _Marro_sostituzioni.Sost; - // break; - // case Clienti.Gitoga: - // _sost = _Gitoga_sostituzioni.Sost; - // break; - // case Clienti.Lifta: - // _sost = _Lifta_sostituzioni.Sost; - // break; - // case Clienti.Discovery: - // _sost = _Disco_sostituzioni.Sost; - // break; - // case Clienti.Siet: - // _sost = _Siet_sostituzioni.Sost; - // break; - // case Clienti.Sicilia: - // _sost = _Sicilia_sostituzioni.Sost; - // break; - // case Clienti.PMS: - // _sost = _PMS_sostituzioni.Sost; - // break; - // case Clienti.LW: - // _sost = _LW_sostituzioni.Sost; - // break; - // case Clienti.Tedesco: - // _sost = _Tedes_sostituzioni.Sost; - // break; - // case Clienti.Syscom: - // _sost = _Sys_sostituzioni.Sost; - // break; - // default: - // _sost = null; - // break; - // } - // return _sost; - //} private DbSet getChiamateTableByTenant(string tenant) { DbSet? _chia; _chia = _VT_chiatable.Chi; return _chia; } - //private DbSet getChiamateTableTaskManagerByTenant(string tenant) - //{ - // DbSet? _chia; - - // switch (tenant) - // { - // case Clienti.LW: - // _chia = _LW_chiatable.Chi; - // break; - // case Clienti.Syscom: - // _chia = _Sys_chiatable.Chi; - // break; - // default: - // _chia = null; - // break; - // } - // return _chia; - //} - - //private DbSet getChiamateSerialeByTenant(string tenant) - //{ - // DbSet? _chiaser; - - // switch (tenant) - // { - // case Clienti.Marrocco: - // _chiaser = _Marro_chiaser.Seriali; - // break; - // case Clienti.Gitoga: - // _chiaser = _Gitoga_chiaser.Seriali; - // break; - // case Clienti.Lifta: - // _chiaser = _Lifta_chiaser.Seriali; - // break; - // case Clienti.Siet: - // _chiaser = _Siet_chiaser.Seriali; - // break; - // case Clienti.Sicilia: - // _chiaser = _Sicilia_chiaser.Seriali; - // break; - // case Clienti.PMS: - // _chiaser = _PMS_chiaser.Seriali; - // break; - - // default: - // _chiaser = null; - // break; - // } - // return _chiaser; - //} - - //private DbSet getChiamateProgressiviByTenant(string tenant) - //{ - // //gestione per cvpwarn con campo float - // DbSet? _chiaprog; - - // switch (tenant) - // { - // case Clienti.Marrocco: - // case Clienti.Gitoga: - // case Clienti.Lifta: - // _chiaprog = _Marro_chiaprog.Progressivi; - // break; - // case Clienti.Sicilia: - // _chiaprog = _Sicilia_chiaprog.Progressivi; - // break; - // case Clienti.Siet: - // _chiaprog = _Siet_chiaprog.Progressivi; - // break; - // default: - // _chiaprog = null; - // break; - // } - // return _chiaprog; - //} - - //private DbSet getCpwarnByTenant(string tenant) - //{ - // //gestione per cvpwarn con campo float - // DbSet? _cpwarn; - - // switch (tenant) - // { - - // case Clienti.Sicilia: - // _cpwarn = _Sicilia_cpwarn.Progressivi; - // break; - // case Clienti.Siet: - // _cpwarn = _Siet_cpwarn.Progressivi; - // break; - // case Clienti.PMS: - // _cpwarn = _PMS_cpwarn.Progressivi; - // break; - // case Clienti.LW: - // _cpwarn = _LW_cpwarn.Progressivi; - // break; - // case Clienti.Tedesco: - // _cpwarn = _Tedes_cpwarn.Progressivi; - // break; - // case Clienti.Syscom: - // _cpwarn = _Sys_cpwarn.Progressivi; - // break; - // default: - // _cpwarn = null; - // break; - // } - // return _cpwarn; - //} - - //private bool checkSostituzioneAbilitata(string tenant) - //{ - // bool abilitata; - // switch (tenant) - // { - // case Clienti.Marrocco: - // abilitata =true; - // break; - // case Clienti.Gitoga: - // abilitata = true; - // break; - // case Clienti.Lifta: - // abilitata = true; - // break; - // case Clienti.Discovery: - // abilitata = true; - // break; - // case Clienti.Siet: - // abilitata = true; - // break; - // case Clienti.Sicilia: - // abilitata = true; - // break; - // case Clienti.LW: - // abilitata = true; - // break; - // case Clienti.Tedesco: - // abilitata = true; - // break; - // case Clienti.Syscom: - // abilitata = true; - // break; - // default: - // abilitata = false; - // break; - // } - // return abilitata; - //} private async Task getSeriale(string token) { @@ -1275,15 +463,7 @@ namespace ApiPolo.Controllers } _rapp_new = _VT_rapptable.Rapps; - //switch (ten) - //{ - // case Clienti.VT: - // //ten = ten2; - // break; - // default: - // _rapp_new = getRappNewByTenant(ten); - // break; - //} + string suff_rapp = string.Empty; string primo_seriale = string.Empty; @@ -1310,6 +490,59 @@ namespace ApiPolo.Controllers } return seriale; } + private async Task getSerialeInternal(string token) + { + string seriale = string.Empty; + string ten = getClaimValueByToken(token, "tenant"); + string ten2 = getClaimValueByToken(token, "tenant2"); + string tenConf = getClaimValueByToken(token, "tenantConfigurazioni"); + if (string.IsNullOrEmpty(ten)) + { + ten = tenConf; + } + _rapp_new = _VT_rapptable.Rapps; + + + + string suff_rapp = string.Empty; + string primo_seriale = string.Empty; + //D000000004 + + var rapp = await Task.WhenAll(_rapp_new.Where(t => t.seriale_rapportino != null + && t.seriale_rapportino.Contains(suff_rapp)).OrderByDescending(t => t.seriale_rapportino).Take(1).ToListAsync()); + + string? ser = string.Empty; + if (rapp.Any()) + { + foreach (var i in rapp) + { + if (i.Count() > 0) + { + ser = i.First().seriale_rapportino; + seriale = getNewSerialeRapportino(ser, ten); + } + else + { + seriale = primo_seriale; + } + } + } + return seriale; + } + private static readonly SemaphoreSlim _serialLock = new(1, 1); + private async Task GetSerialeThreadSafe(string token) + { + await _serialLock.WaitAsync(); + try + { + return await getSerialeInternal(token); + } + finally + { + _serialLock.Release(); + } + } + private async Task getNewId(string token) { @@ -1343,7 +576,6 @@ namespace ApiPolo.Controllers return new_serial; } - private string getNewSerialeBuono(string lastSerial, string suff) { //CAM00118 CA=chiamata M=Marrocco 00118=seriale @@ -1360,7 +592,6 @@ namespace ApiPolo.Controllers return new_serial; } - private string getNewSerialeBuonoMan(string lastSerial, string suff) { //CAM00118 CA=chiamata M=Marrocco 00118=seriale @@ -1486,7 +717,6 @@ namespace ApiPolo.Controllers } private async Task checkChiamataPresa(string ten, string serChiamata,string tipo, string ten2) { - //tipo rapportino ="" int trovati = 0; _rapp_new = _VT_rapptable.Rapps; @@ -1511,15 +741,6 @@ namespace ApiPolo.Controllers _rapp_new = _VT_rapptable.Rapps; ten = ten2; - //switch (ten) - //{ - // case Clienti.VT: - // break; - // default: - // _rapp_new = getRappNewByTenant(ten); - // break; - //} - var rapp = await _rapp_new.Where(t => t.azienda_impianto == ten && t.seriale_rapportino != null && t.seriale_rapportino.Equals(serRapportino) && t.tipo_rapportino != null && t.tipo_rapportino.Equals(tipo) @@ -1539,16 +760,6 @@ namespace ApiPolo.Controllers _rapp_new = _VT_rapptable.Rapps; ten = ten2; - //switch (ten) - //{ - // case Clienti.VT: - - // break; - // default: - // _rapp_new = getRappNewByTenant(ten); - // break; - //} - var rapp = await _rapp_new.Where(t => t.azienda_impianto == ten && t.seriale_chiamata != null && t.seriale_chiamata.Equals(serChiamata) && t.tipo_rapportino != null && t.tipo_rapportino.Equals(tipo) @@ -1564,17 +775,8 @@ namespace ApiPolo.Controllers { //tipo rapportino =3 o tipo rapportino=4 int trovati = 0; - _rapp_new = _VT_rapptable.Rapps; - - //if (ten.Equals(Clienti.VT)) - //{ - //} - //else - //{ - // _rapp_new = getRappNewByTenant(ten); - //} - + var rapp = await _rapp_new.Where(t => t.azienda_impianto == ten && t.seriale_chiamata != null && t.seriale_chiamata.Equals(serChiamata) && t.tipo_rapportino != null && (t.tipo_rapportino.Equals(TipoRapportino.ChiamataChiusa) || t.tipo_rapportino.Equals(TipoRapportino.ChiamataDaCommessa))).ToListAsync(); @@ -3693,31 +2895,6 @@ namespace ApiPolo.Controllers return o; } - //private string getCommessaSietBySerial(string seriale) - //{ - // string commessa = string.Empty; - - // try - // { - // _commDescSiet = _Siet_commDesc.Commdesc; - // var c = _commDescSiet.Where(c => c.laserial.Equals(seriale)).First(); - // if (c != null && !string.IsNullOrEmpty(c.lacodcom)) - // { - // commessa = c.lacodcom.Trim(); - // if (!string.IsNullOrEmpty(c.lacodcen)) - // { - // commessa = commessa + " - " + c.lacodcen.Trim(); - // } - // } - // } - // catch - // { - // Console.WriteLine(string.Format("*********** {1} Errore Chiamata al metodo getCommessaSietBySerial: seriale:{0} ", seriale, DateTime.Now.ToString())); - // } - - // return commessa; - //} - private Chiamate_out inputToChiamateOut(Input i) { Chiamate_out c = new Chiamate_out(); @@ -3959,7 +3136,10 @@ namespace ApiPolo.Controllers _confLette = await readConf(tenConf); string newSerial = string.Empty; - newSerial = await getSeriale(token); + /*gestione seriale in safe mode*/ + //newSerial = await getSeriale(token); + newSerial = await GetSerialeThreadSafe(token); + Rapp_New r = await fillRappNewByInput(model, token, newSerial, _confLette); using (var transactionVT = _VT_rapptable.Database.BeginTransaction()) { @@ -3967,133 +3147,12 @@ namespace ApiPolo.Controllers await _VT_rapptable.SaveChangesAsync(); transactionVT.Commit(); } - //switch (ten) - // { - // case Clienti.Marrocco: - // using (var transaction = _Marro_rapp.Database.BeginTransaction()) - // { - // await _Marro_rapp.Rapps.AddAsync(r); - // await _Marro_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.Ferrari: - // using (var transaction = _Ferra_rapp.Database.BeginTransaction()) - // { - // await _Ferra_rapp.Rapps.AddAsync(r); - // await _Ferra_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.Sicilia: - // using (var transaction = _Sicilia_rapp.Database.BeginTransaction()) - // { - // await _Sicilia_rapp.Rapps.AddAsync(r); - // await _Sicilia_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.Discovery: - // using (var transaction = _Disco_rapp.Database.BeginTransaction()) - // { - // await _Disco_rapp.Rapps.AddAsync(r); - // await _Disco_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.Sarom: - // using (var transaction = _Sarom_rapp.Database.BeginTransaction()) - // { - // await _Sarom_rapp.Rapps.AddAsync(r); - // await _Sarom_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.Gitoga: - // using (var transactionGit = _Gitoga_rapp.Database.BeginTransaction()) - // { - // await _Gitoga_rapp.Rapps.AddAsync(r); - // await _Gitoga_rapp.SaveChangesAsync(); - // transactionGit.Commit(); - // } - // break; - // case Clienti.Lifta: - // using (var transactionLif = _Lifta_rapp.Database.BeginTransaction()) - // { - // await _Lifta_rapp.Rapps.AddAsync(r); - // await _Lifta_rapp.SaveChangesAsync(); - // transactionLif.Commit(); - // } - // break; - // case Clienti.Siet: - // using (var transactionSiet = _Siet_rapp.Database.BeginTransaction()) - // { - // await _Siet_rapp.Rapps.AddAsync(r); - // await _Siet_rapp.SaveChangesAsync(); - // transactionSiet.Commit(); - // } - // break; - // case Clienti.PMS: - // using (var transactionPMS = _Pms_rapp.Database.BeginTransaction()) - // { - // await _Pms_rapp.Rapps.AddAsync(r); - // await _Pms_rapp.SaveChangesAsync(); - // transactionPMS.Commit(); - // } - // break; - // case Clienti.VT: - // using (var transactionVT = _VT_rapptable.Database.BeginTransaction()) - // { - // await _VT_rapptable.Rapps.AddAsync(r); - // await _VT_rapptable.SaveChangesAsync(); - // transactionVT.Commit(); - // } - // break; - // case Clienti.LW: - // using (var transactionLW = _LW_rapp.Database.BeginTransaction()) - // { - // await _LW_rapp.Rapps.AddAsync(r); - // await _LW_rapp.SaveChangesAsync(); - // transactionLW.Commit(); - // } - // break; - // case Clienti.Tedesco: - // using (var transactionTedes = _Tedes_rapp.Database.BeginTransaction()) - // { - // await _Tedes_rapp.Rapps.AddAsync(r); - // await _Tedes_rapp.SaveChangesAsync(); - // transactionTedes.Commit(); - // } - // break; - // case Clienti.Syscom: - // using (var transactionSys = _Sys_rapp.Database.BeginTransaction()) - // { - // await _Sys_rapp.Rapps.AddAsync(r); - // await _Sys_rapp.SaveChangesAsync(); - // transactionSys.Commit(); - // } - // break; - // default: - // break; - // } + //restituisco la chiamata Console.WriteLine(string.Format("*********** {2} metodo prendiInCarico2: tenant:{0} tenant2: {1} token: {3} tecnico:{4} ", ten, ten2, DateTime.Now.ToString(), token, tec)); calltec = await getChiamataBySerial(model.seriale_chiamata, token); calltec_out = fillChiamateOut(calltec, ten); - calltec_out.err_status_code = StatiRisposta.Ok; - - //2024-08-01: metto la lettura della chiamata in un try/catch per evitare l'errore casuale "sequence contains no element" - //nel catch faccio uscire un oggetto riempito con i valori dell'Input di ingresso - //try - //{ - // calltec = await getChiamataBySerial(model.seriale_chiamata, token); - // calltec_out = fillChiamateOut(calltec, ten); - // calltec_out.err_status_code = StatiRisposta.Ok; - //} - //catch(Exception ee) - //{ - // calltec_out = inputToChiamateOut(model); - //} + calltec_out.err_status_code = StatiRisposta.Ok; } else { @@ -4135,7 +3194,9 @@ namespace ApiPolo.Controllers { _confLette = await readConf(tenConf); string newSerial = string.Empty; - newSerial = await getSeriale(token); + /*gestione seriale in safe mode*/ + //newSerial = await getSeriale(token); + newSerial = await GetSerialeThreadSafe(token); Rapp_New r = await fillRappNewRifiutoByInput(model, token, newSerial, _confLette); using (var transactionVT = _VT_rapptable.Database.BeginTransaction()) @@ -4311,7 +3372,9 @@ namespace ApiPolo.Controllers } string newSerial = string.Empty; - newSerial = await getSeriale(token); + /*gestione seriale in safe mode*/ + //newSerial = await getSeriale(token); + newSerial = await GetSerialeThreadSafe(token); Rapp_New r = await fillRappNewChiudiByInput(model, token, newSerial, _confLette); @@ -4410,125 +3473,7 @@ namespace ApiPolo.Controllers await _VT_rapptable.SaveChangesAsync(); transactionVT.Commit(); } - //switch (ten) - //{ - // case Clienti.Marrocco: - // using (var transaction = _Marro_rapp.Database.BeginTransaction()) - // { - // _Marro_rapp.Rapps.Remove(r); - // await _Marro_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.Ferrari: - // using (var transaction = _Ferra_rapp.Database.BeginTransaction()) - // { - // _Ferra_rapp.Rapps.Remove(r); - // await _Ferra_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - - // break; - // case Clienti.Sarom: - // using (var transaction = _Sarom_rapp.Database.BeginTransaction()) - // { - // _Sarom_rapp.Rapps.Remove(r); - // await _Sarom_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - - // break; - // case Clienti.Gitoga: - // using (var transactionGit = _Gitoga_rapp.Database.BeginTransaction()) - // { - // _Gitoga_rapp.Rapps.Remove(r); - // await _Gitoga_rapp.SaveChangesAsync(); - // transactionGit.Commit(); - // } - - // break; - // case Clienti.Lifta: - // using (var transactionLif = _Lifta_rapp.Database.BeginTransaction()) - // { - // _Lifta_rapp.Rapps.Remove(r); - // await _Lifta_rapp.SaveChangesAsync(); - // transactionLif.Commit(); - // } - - // break; - // case Clienti.Sicilia: - // using (var transaction = _Sicilia_rapp.Database.BeginTransaction()) - // { - // _Sicilia_rapp.Rapps.Remove(r); - // await _Sicilia_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.Discovery: - // using (var transaction = _Disco_rapp.Database.BeginTransaction()) - // { - // _Disco_rapp.Rapps.Remove(r); - // await _Disco_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.Siet: - - // using (var transaction = _Siet_rapp.Database.BeginTransaction()) - // { - // _Siet_rapp.Rapps.Remove(r); - // await _Siet_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.PMS: - - // using (var transaction = _Pms_rapp.Database.BeginTransaction()) - // { - // _Pms_rapp.Rapps.Remove(r); - // await _Pms_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.VT: - // using (var transactionVT = _VT_rapptable.Database.BeginTransaction()) - // { - // _VT_rapptable.Rapps.Remove(r); - // await _VT_rapptable.SaveChangesAsync(); - // transactionVT.Commit(); - // } - // break; - // case Clienti.LW: - - // using (var transaction = _LW_rapp.Database.BeginTransaction()) - // { - // _LW_rapp.Rapps.Remove(r); - // await _LW_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.Tedesco : - - // using (var transaction = _Tedes_rapp.Database.BeginTransaction()) - // { - // _Tedes_rapp.Rapps.Remove(r); - // await _Tedes_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // case Clienti.Syscom: - - // using (var transaction = _Sys_rapp.Database.BeginTransaction()) - // { - // _Sys_rapp.Rapps.Remove(r); - // await _Sys_rapp.SaveChangesAsync(); - // transaction.Commit(); - // } - // break; - // default: - // break; - //} calltec = await getChiamataBySerial(r.seriale_chiamata, token); calltec_out = fillChiamateOut(calltec, ten); calltec_out.err_status_code = StatiRisposta.Ok;