BE/src/mssql/uscib-managed-sp/sp-contacts/sp-contacts.service.ts
2025-07-21 20:34:23 +05:30

122 lines
4.9 KiB
TypeScript

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 };
}
}
}