import { Injectable } from '@nestjs/common'; import { MssqlDBService } from 'src/db/db.service'; import * as mssql from 'mssql' import { Connection, Request } from 'mssql'; import { SP_CONTACTID_DTO, SPID_DTO, InsertSPContactsDTO, UpdateSPContactsDTO } from 'src/dto/property.dto'; @Injectable() export class SpContactsService { constructor(private readonly mssqlDBService: MssqlDBService) { } async getSpAllContacts(body: SPID_DTO) { let connection: mssql.ConnectionPool; try { connection = await this.mssqlDBService.getConnection(); const request = new Request(connection); request.input('P_SPID', mssql.Int, body.P_SPID); const result = await request.execute('carnetsys.GETSPALLCONTACTS'); return { data: result.recordset }; } catch (error) { return { error: error.message }; } } async getSPDefaultcontacts(body: SPID_DTO) { let connection: mssql.ConnectionPool; try { connection = await this.mssqlDBService.getConnection(); const request = new Request(connection); request.input('P_SPID', mssql.Int, body.P_SPID); const result = await request.execute('carnetsys.GETSPDEFAULTCONTACTS'); return { data: result.recordset }; } catch (error) { return { error: error.message }; } } async inactivateSPContact(body: SP_CONTACTID_DTO) { let connection: mssql.ConnectionPool; try { connection = await this.mssqlDBService.getConnection(); const request = new Request(connection); request.input('P_SPCONTACTID', mssql.Int, body.P_SPCONTACTID); const result = await request.execute('carnetsys.INACTIVATESPCONTACTS'); return { data: result.recordset }; } catch (error) { return { error: error.message }; } } async insertSPContacts(body: InsertSPContactsDTO) { let connection: mssql.ConnectionPool; try { connection = await this.mssqlDBService.getConnection(); const request = new Request(connection); request.input('P_SPID', mssql.Int, body.P_SPID); request.input('P_DEFCONTACTFLAG', mssql.VarChar(4000), body.P_DEFCONTACTFLAG); request.input('P_FIRSTNAME', mssql.VarChar(4000), body.P_FIRSTNAME); request.input('P_LASTNAME', mssql.VarChar(4000), body.P_LASTNAME); request.input('P_MIDDLEINITIAL', mssql.VarChar(4000), body.P_MIDDLEINITIAL); request.input('P_TITLE', mssql.VarChar(4000), body.P_TITLE); request.input('P_PHONENO', mssql.VarChar(4000), body.P_PHONENO); request.input('P_MOBILENO', mssql.VarChar(4000), body.P_MOBILENO); request.input('P_FAXNO', mssql.VarChar(4000), body.P_FAXNO); request.input('P_EMAILADDRESS', mssql.VarChar(4000), body.P_EMAILADDRESS); request.input('P_USER_ID', mssql.VarChar(4000), body.P_USER_ID); const result = await request.execute('carnetsys.INSERTSPCONTACTS'); return { data: result.recordset }; } catch (error) { return { error: error.message }; } } async setSPDefaultcontact(body: SP_CONTACTID_DTO) { let connection: mssql.ConnectionPool; try { connection = await this.mssqlDBService.getConnection(); const request = new Request(connection); request.input('p_spContactid', mssql.Int, body.P_SPCONTACTID); const result = await request.execute('carnetsys.SETDEFAULTCONTACT'); return { data: result.recordset }; } catch (error) { return { error: error.message }; } } async updateSPContacts(body: UpdateSPContactsDTO) { let connection: mssql.ConnectionPool; try { connection = await this.mssqlDBService.getConnection(); const request = new Request(connection); request.input('P_SPCONTACTID', mssql.Int, body.P_SPCONTACTID); request.input('P_FIRSTNAME', mssql.VarChar(4000), body.P_FIRSTNAME); request.input('P_LASTNAME', mssql.VarChar(4000), body.P_LASTNAME); request.input('P_MIDDLEINITIAL', mssql.VarChar(4000), body.P_MIDDLEINITIAL); request.input('P_TITLE', mssql.VarChar(4000), body.P_TITLE); request.input('P_PHONENO', mssql.VarChar(4000), body.P_PHONENO); request.input('P_MOBILENO', mssql.VarChar(4000), body.P_MOBILENO); request.input('P_FAXNO', mssql.VarChar(4000), body.P_FAXNO); request.input('P_EMAILADDRESS', mssql.VarChar(4000), body.P_EMAILADDRESS); request.input('P_USER_ID', mssql.VarChar(4000), body.P_USER_ID); const result = await request.execute('carnetsys.UPDATESPCONTACTS'); return { data: result.recordset }; } catch (error) { return { error: error.message }; } } }