UNPKG

restaurantt

Version:

This package contains a backend of what would be the logic of a restaurant software

177 lines (143 loc) 4.63 kB
const { VarChar,Int } = require("mssql"); const { DTOTable } = require("../DTO/DTOTable"); const { Conection } = require("./Conection"); class DataTable { //#region CRUD static registerTable=async(numberpeople)=> { let queryinsert = ` insert into TablesR values ('Active',@NumberPeopleT) `; let pool = await Conection.conection(); const result = await pool.request() .input('NumberPeopleT', Int, numberpeople) .query(queryinsert) pool.close(); return true; } static disableTable=async(idtable)=> { let resultquery; let queryinsert = ` IF NOT EXISTS ( SELECT IDTable FROM TablesR WHERE IDTable=@IDTable) BEGIN select -1 as notexisttable END ELSE BEGIN update TablesR set StateT='Inactive' where IDTable=@IDTable select 1 as updatesuccess END `; let pool = await Conection.conection(); const result = await pool.request() .input('IDTable', Int, idtable) .query(queryinsert) resultquery = result.recordset[0].notexisttable; if (resultquery===undefined) { resultquery = result.recordset[0].updatesuccess; } pool.close(); return resultquery; } static enableTable=async(idtable)=> { let resultquery; let queryinsert = ` IF NOT EXISTS ( SELECT IDTable FROM TablesR WHERE IDTable=@IDTable) BEGIN select -1 as notexisttable END ELSE BEGIN update TablesR set StateT='Active' where IDTable=@IDTable select 1 as updatesuccess END `; let pool = await Conection.conection(); const result = await pool.request() .input('IDTable', Int, idtable) .query(queryinsert) resultquery = result.recordset[0].notexisttable; if (resultquery===undefined) { resultquery = result.recordset[0].updatesuccess; } pool.close(); return resultquery; } //#endregion //#region GETS static getTable=async(idtable)=> { let resultquery; let querysearch = ` IF NOT EXISTS ( SELECT IDTable FROM TablesR WHERE IDTable=@IDTable) BEGIN select -1 as notexisttable END ELSE BEGIN SELECT t.IDTable, t.StateT, t.NumberPeopleT FROM TablesR t WHERE IDTable=@IDTable END ` let pool = await Conection.conection(); const result = await pool.request() .input('IDTable', Int, idtable) .query(querysearch) resultquery = result.recordset[0].notexisttable; if(resultquery===undefined) { let resultrecordset=result.recordset[0]; let table = new DTOTable(); this.getInformation(table, resultrecordset); resultquery=table } pool.close(); return resultquery; } static getSearchTables=async(idtable1=0,idtable2=99999,state="",npeople1=0,npeople2=9999)=> { let array=[]; let querysearch = ` SELECT t.IDTable, t.StateT, t.NumberPeopleT FROM TablesR t where IDTable between ${idtable1} and ${idtable2} and StateT like '%${state}%' and NumberPeopleT between ${npeople1} and ${npeople2} ` let pool = await Conection.conection(); const result = await pool.request() .query(querysearch) for (var r of result.recordset) { let table = new DTOTable(); this.getInformation(table, r); array.push(table); } pool.close(); return array; } //#endregion //#region GET INFORMATION static getInformation(table, result) { table.IDTable=result.IDTable table.StateT=result.StateT table.NumberPeopleT=result.NumberPeopleT } //#endregion } module.exports = { DataTable };