Created
April 11, 2018 07:22
-
-
Save riccardopirani/2e175c10cbea49098dd99fbffdf9c4d5 to your computer and use it in GitHub Desktop.
Asyc Await with Mssql
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const DbConfig = require('../Config/DatabaseConfig.js'); | |
| const sql = require('mssql'); | |
| async function RicercaCantiere(NomeCantiere) { | |
| var data=[]; | |
| await sql.connect(DbConfig.config); | |
| const request = new sql.Request(); | |
| request.input('NomeCantiere', sql.VarChar, NomeCantiere); | |
| const recordset=await request.query("select * from( (/* Cantieri Consuntivo con Filiale */ SELECT Cantiere.IdCantiere,Cantiere.IdCliente, FilialeCliente.Citta as Filiale, Cliente.RagioneSociale, Cantiere.NomeCantiere, Cantiere.DataCreazioneCantiere, 'Consuntivo' as Tipologia, IdUtenteCreazioneCantiere, StatoCantiere, StatoFatturazione FROM Cantiere inner join CantiereConsuntivo on CantiereConsuntivo.IdCantiereConsuntivo = Cantiere.IdCantiere inner join Cliente on Cliente.IdCliente = Cantiere.IdCliente inner join FilialeCliente on FilialeCliente.IdFilialeCliente = CantiereConsuntivo.IdFiliale) union ( /*Cantieri Consuntivo senza Filiale*/ SELECT Cantiere.IdCantiere,Cantiere.IdCliente, 'SEDE' as Filiale, Cliente.RagioneSociale, Cantiere.NomeCantiere, Cantiere.DataCreazioneCantiere, 'Consuntivo' as Tipologia, IdUtenteCreazioneCantiere, StatoCantiere, StatoFatturazione FROM Cantiere inner join CantiereConsuntivo on CantiereConsuntivo.IdCantiereConsuntivo = Cantiere.IdCantiere inner join Cliente on Cliente.IdCliente = Cantiere.IdCliente where CantiereConsuntivo.IdFiliale is null) union ( /*Cantieri a Preventivo con Filiale*/ SELECT Cantiere.IdCantiere,Preventivo.IdCliente, FilialeCliente.Citta as Filiale, Cliente.RagioneSociale, Preventivo.RiferimentoInterno, Cantiere.DataCreazioneCantiere, 'Preventivo' as Tipologia, IdUtenteCreazioneCantiere, StatoCantiere, StatoFatturazione FROM Cantiere inner join CantierePreventivo on CantierePreventivo.IdCantierePreventivo = Cantiere.IdCantiere inner join Cliente on Cliente.IdCliente = Cantiere.IdCliente inner join Preventivo on Preventivo.IdPreventivo = CantierePreventivo.IdPreventivo inner join FilialeCliente on FilialeCliente.IdFilialeCliente = Preventivo.IdFiliale ) union (/* Cantieri a Preventivo Senza Filiale */ SELECT Cantiere.IdCantiere,Preventivo.IdCliente, 'SEDE' as Filiale, Cliente.RagioneSociale, Preventivo.RiferimentoInterno, Cantiere.DataCreazioneCantiere, 'Preventivo' as Tipologia, IdUtenteCreazioneCantiere, StatoCantiere, StatoFatturazione FROM Cantiere inner join CantierePreventivo on CantierePreventivo.IdCantierePreventivo = Cantiere.IdCantiere inner join Cliente on Cliente.IdCliente = Cantiere.IdCliente inner join Preventivo on Preventivo.IdPreventivo = CantierePreventivo.IdPreventivo where IdFiliale is null ) )q where NomeCantiere like '%' + @NomeCantiere +'%' "); | |
| for(var i=0; i<recordset.recordset.length; i++){ | |
| data.push({ | |
| IdCantiere: recordset.recordset[i].IdCantiere, | |
| IdCliente: recordset.recordset[i].IdCliente, | |
| Filiale: recordset.recordset[i].Filiale, | |
| RagioneSociale: recordset.recordset[i].RagioneSociale, | |
| NomeCantiere: recordset.recordset[i].NomeCantiere, | |
| DataCreazioneCantiere: recordset.recordset[i].DataCreazioneCantiere, | |
| Tipologia: recordset.recordset[i].Tipologia, | |
| StatoCantiere: recordset.recordset[i].StatoCantiere, | |
| StatoFatturazione: recordset.recordset[i].StatoFatturazione | |
| }) | |
| } | |
| await sql.close(); | |
| return data; | |
| } | |
| module.exports.RicercaCantiere = RicercaCantiere; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment