142 lines
5.6 KiB
TypeScript
142 lines
5.6 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 { getSPAllContactsDTO, getSPDefaultcontactDTO, inactivateSPContactDTO, InsertSPContactsDTO, setSPDefaultcontactDTO, UpdateSPContactsDTO } from 'src/oracle/uscib-managed-sp/sp-contacts/sp-contacts.dto';
|
|
|
|
@Injectable()
|
|
export class SpContactsService {
|
|
|
|
constructor(private readonly mssqlDBService: MssqlDBService) { }
|
|
|
|
async getSpAllContacts(body: getSPAllContactsDTO) {
|
|
|
|
let connection: Connection;
|
|
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 };
|
|
} finally {
|
|
if (connection) {
|
|
connection.close();
|
|
}
|
|
}
|
|
}
|
|
|
|
async getSPDefaultcontacts(body: getSPDefaultcontactDTO) {
|
|
|
|
let connection: Connection;
|
|
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 };
|
|
} finally {
|
|
if (connection) {
|
|
connection.close();
|
|
}
|
|
}
|
|
}
|
|
|
|
async inactivateSPContact(body: inactivateSPContactDTO) {
|
|
|
|
let connection: Connection;
|
|
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 };
|
|
} finally {
|
|
if (connection) {
|
|
connection.close();
|
|
}
|
|
}
|
|
}
|
|
|
|
async insertSPContacts(body: InsertSPContactsDTO) {
|
|
let connection: Connection;
|
|
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 };
|
|
} finally {
|
|
if (connection) {
|
|
connection.close();
|
|
}
|
|
}
|
|
}
|
|
|
|
async setSPDefaultcontact(body: setSPDefaultcontactDTO) {
|
|
let connection: Connection;
|
|
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 };
|
|
} finally {
|
|
if (connection) {
|
|
connection.close();
|
|
}
|
|
}
|
|
}
|
|
|
|
async updateSPContacts(body: UpdateSPContactsDTO) {
|
|
let connection: Connection;
|
|
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 };
|
|
} finally {
|
|
if (connection) {
|
|
connection.close();
|
|
}
|
|
}
|
|
}
|
|
}
|