91 lines
3.5 KiB
TypeScript
91 lines
3.5 KiB
TypeScript
import { HttpClient } from '@angular/common/http';
|
|
import { inject, Injectable } from '@angular/core';
|
|
import { UserService } from '../common/user.service';
|
|
import { environment } from '../../../../environments/environment';
|
|
import { map, Observable, } from 'rxjs';
|
|
import { BasicDetail } from '../../models/holder/basic-detail';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class BasicDetailService {
|
|
private apiUrl = environment.apiUrl;
|
|
private apiDb = environment.apiDb;
|
|
|
|
private http = inject(HttpClient);
|
|
private userService = inject(UserService);
|
|
|
|
getBasicDetailByHolderId(id: number): Observable<BasicDetail> {
|
|
return this.http.get<any[]>(`${this.apiUrl}/${this.apiDb}/GetHolderRecord/${this.userService.getUserSpid()}/${id}`).pipe(
|
|
map(response => this.mapToBasicDetail(response)));
|
|
}
|
|
|
|
private mapToBasicDetail(basicDetails: any): BasicDetail {
|
|
return {
|
|
holderid: basicDetails.HOLDERID,
|
|
spid: basicDetails.SPID,
|
|
locationid: basicDetails.LOCATIONID,
|
|
holderNumber: basicDetails.HOLDERNO,
|
|
holderType: basicDetails.HOLDERTYPE,
|
|
uscibMember: basicDetails.USCIBMEMBERFLAG === 'Y',
|
|
govAgency: basicDetails.GOVAGENCYFLAG === 'Y',
|
|
holderName: basicDetails.HOLDERNAME,
|
|
//NAMEQUALIFIER: basicDetails.NAMEQUALIFIER || null,
|
|
dbaName: basicDetails.ADDLNAME || null,
|
|
address1: basicDetails.ADDRESS1,
|
|
address2: basicDetails.ADDRESS2 || null,
|
|
city: basicDetails.CITY,
|
|
state: basicDetails.STATE,
|
|
zip: basicDetails.ZIP,
|
|
country: basicDetails.COUNTRY
|
|
};
|
|
}
|
|
|
|
createBasicDetail(data: BasicDetail): Observable<any> {
|
|
const basicDetail = {
|
|
P_SPID: this.userService.getUserSpid(),
|
|
P_CLIENTLOCATIONID: this.userService.getUserLocationid(),
|
|
P_HOLDERNO: data.holderNumber,
|
|
P_HOLDERTYPE: data.holderType,
|
|
P_USCIBMEMBERFLAG: data.uscibMember ? 'Y' : 'N',
|
|
P_GOVAGENCYFLAG: data.govAgency ? 'Y' : 'N',
|
|
P_HOLDERNAME: data.holderName,
|
|
P_NAMEQUALIFIER: null,
|
|
P_ADDLNAME: data.dbaName,
|
|
P_ADDRESS1: data.address1,
|
|
P_ADDRESS2: data.address2,
|
|
P_CITY: data.city,
|
|
P_STATE: data.state,
|
|
P_ZIP: data.zip,
|
|
P_COUNTRY: data.country,
|
|
P_USERID: this.userService.getUser()
|
|
};
|
|
|
|
return this.http.post(`${this.apiUrl}/${this.apiDb}/CreateHolderData`, basicDetail);
|
|
}
|
|
|
|
updateBasicDetails(id: number, data: BasicDetail): Observable<any> {
|
|
const basicDetail = {
|
|
P_HOLDERID: id,
|
|
P_SPID: this.userService.getUserSpid(),
|
|
P_LOCATIONID: this.userService.getUserLocationid(),
|
|
P_HOLDERNO: data.holderNumber,
|
|
P_HOLDERTYPE: data.holderType,
|
|
P_USCIBMEMBERFLAG: data.uscibMember ? 'Y' : 'N',
|
|
P_GOVAGENCYFLAG: data.govAgency ? 'Y' : 'N',
|
|
P_HOLDERNAME: data.holderName,
|
|
P_NAMEQUALIFIER: null,
|
|
P_ADDLNAME: data.dbaName,
|
|
P_ADDRESS1: data.address1,
|
|
P_ADDRESS2: data.address2,
|
|
P_CITY: data.city,
|
|
P_STATE: data.state,
|
|
P_ZIP: data.zip,
|
|
P_COUNTRY: data.country,
|
|
P_USERID: this.userService.getUser()
|
|
};
|
|
|
|
return this.http.put(`${this.apiUrl}/${this.apiDb}/UpdateHolder`, basicDetail);
|
|
}
|
|
}
|